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;