Making sure no item is displayed as "current" if Up, Down, Left or Right is pressed in a menu with no selectable items

This commit is contained in:
Klaus Schmidinger 2005-10-09 11:00:50 +02:00
parent ccaa4e961e
commit 22ee421be9
2 changed files with 5 additions and 3 deletions

View File

@ -3893,3 +3893,5 @@ Video Disk Recorder Revision History
Enrico Scholz).
- Fixed a possible endless loop in a menu with no selectable items if
Setup.MenuScrollWrap is true (thanks to Enrico Scholz).
- Making sure no item is displayed as "current" if Up, Down, Left or Right is
pressed in a menu with no selectable items.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osdbase.c 1.23 2005/10/09 10:42:35 kls Exp $
* $Id: osdbase.c 1.24 2005/10/09 10:56:26 kls Exp $
*/
#include "osdbase.h"
@ -242,8 +242,8 @@ void cOsdMenu::DisplayCurrent(bool Current)
{
cOsdItem *item = Get(current);
if (item) {
displayMenu->SetItem(item->Text(), current - first, Current, item->Selectable());
if (Current)
displayMenu->SetItem(item->Text(), current - first, Current && item->Selectable(), item->Selectable());
if (Current && item->Selectable())
cStatus::MsgOsdCurrentItem(item->Text());
if (!Current)
item->SetFresh(true); // leaving the current item resets 'fresh'