diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2005-10-02 15:04:34 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2005-10-02 15:04:34 +0200 |
commit | 2cc029066b3af90d560ae5d549d0faba76acc77f (patch) | |
tree | 2525b228e9b2d6cf23dde0c89de4610c19f14d10 | |
parent | d808293a06671badd716dd94b93c0aae764a29cb (diff) | |
download | vdr-2cc029066b3af90d560ae5d549d0faba76acc77f.tar.gz vdr-2cc029066b3af90d560ae5d549d0faba76acc77f.tar.bz2 |
Fixed handling of menus with no selectable items
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | menu.c | 4 | ||||
-rw-r--r-- | osdbase.c | 7 |
3 files changed, 7 insertions, 5 deletions
@@ -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. @@ -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()) { @@ -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; |