summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--menu.c4
-rw-r--r--osdbase.c7
3 files changed, 7 insertions, 5 deletions
diff --git a/HISTORY b/HISTORY
index 5af67eb2..9a169d21 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3881,3 +3881,4 @@ Video Disk Recorder Revision History
- Added status message "Opening CAM menu..." for an immediate feedback when the CAM
menu has been requested.
- Speeded up initial opening of the CAM menu.
+- Fixed handling of menus with no selectable items.
diff --git a/menu.c b/menu.c
index e43dbc95..ea187084 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 1.370 2005/10/02 14:50:44 kls Exp $
+ * $Id: menu.c 1.371 2005/10/02 14:53:48 kls Exp $
*/
#include "menu.h"
@@ -1302,7 +1302,7 @@ cMenuCam::cMenuCam(cCiMenu *CiMenu)
dsyslog("CAM: '%s'", ciMenu->SubTitleText());
}
for (int i = 0; i < ciMenu->NumEntries(); i++) {
- Add(new cOsdItem(hk(ciMenu->Entry(i))));
+ Add(new cOsdItem(hk(ciMenu->Entry(i)), osUnknown, ciMenu->Selectable()));
dsyslog("CAM: '%s'", ciMenu->Entry(i));
}
if (*ciMenu->BottomText()) {
diff --git a/osdbase.c b/osdbase.c
index 637543bd..9646bcc4 100644
--- a/osdbase.c
+++ b/osdbase.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osdbase.c 1.21 2005/10/02 09:23:10 kls Exp $
+ * $Id: osdbase.c 1.22 2005/10/02 15:00:40 kls Exp $
*/
#include "osdbase.h"
@@ -213,8 +213,9 @@ void cOsdMenu::Display(void)
int i = first;
int n = 0;
for (cOsdItem *item = Get(first); item; item = Next(item)) {
- displayMenu->SetItem(item->Text(), i - first, i == current, item->Selectable());
- if (i == current)
+ bool CurrentSelectable = (i == current) && item->Selectable();
+ displayMenu->SetItem(item->Text(), i - first, CurrentSelectable, item->Selectable());
+ if (CurrentSelectable)
cStatus::MsgOsdCurrentItem(item->Text());
if (++n == displayMenuItems)
break;