diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 09a2bd6b..5a8fddd9 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -444,6 +444,9 @@ Oliver Endriss for providing examples for 'diseqc.conf' for improving deleting stale lock files for fixing high CPU load in 'Transfer Mode' + for making the "Left" and "Right" buttons set the cursor to the first or last + list item even if the list consist only of a single page, like, for instance, + the Main menu Reinhard Walter Buchner for adding some satellites to 'sources.conf' diff --git a/HISTORY b/HISTORY index 9077cec6..12b704a9 100644 --- a/HISTORY +++ b/HISTORY @@ -1993,3 +1993,6 @@ Video Disk Recorder Revision History - The CAM is now accessed only if the current channel actually has a non-zero Ca value, and CAM access is completely suppressed during replay, which avoids problems in case the CAM is attached to the primary DVB device. +- The "Left" and "Right" buttons now set the cursor to the first or last list item + even if the list consist only of a single page, like, for instance, the Main menu + (thanks to Oliver Endriss). diff --git a/osd.c b/osd.c index 76229556..d048f5ca 100644 --- a/osd.c +++ b/osd.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 1.39 2002/12/08 13:17:13 kls Exp $ + * $Id: osd.c 1.40 2003/03/23 15:41:54 kls Exp $ */ #include "osd.h" @@ -535,8 +535,6 @@ void cOsdMenu::CursorDown(void) void cOsdMenu::PageUp(void) { - if (Count() <= MAXOSDITEMS) - return; current -= MAXOSDITEMS; first -= MAXOSDITEMS; if (first < 0) @@ -551,13 +549,11 @@ void cOsdMenu::PageUp(void) void cOsdMenu::PageDown(void) { - if (Count() <= MAXOSDITEMS) - return; current += MAXOSDITEMS; first += MAXOSDITEMS; if (current > Count() - 1) { current = Count() - 1; - first = Count() - MAXOSDITEMS; + first = max(0, Count() - MAXOSDITEMS); } if (SpecialItem(current)) { current += (current < Count() - 1) ? 1 : -1;