Fixed scrolling the 'Channels' menu in case the cursor ends up on a group delimiter

This commit is contained in:
Klaus Schmidinger 2002-03-24 11:23:23 +01:00
parent c751c195c1
commit 1838c02c9e
3 changed files with 16 additions and 2 deletions

View File

@ -233,3 +233,7 @@ Mirko G
Achim Lange <Achim_Lange@t-online.de>
for replacing 'killproc' with 'killall' in 'runvdr' to make it work on Debian
Bernd Zierath <b.zierath@ebv.com>
for helping to debug scrolling the "Channels" menu in case the cursor ends up on
a group separator

View File

@ -1120,7 +1120,7 @@ Video Disk Recorder Revision History
exits. The 'runvdr' script can be used for this purpose.
- Refined texts of the "Setup" menu.
2002-03-22: Version 1.0.0pre5
2002-03-24: Version 1.0.0pre5
- Fixed restoring CICAM setup values for a fourth DVB card.
- Completed internationalization of OSD texts (thanks to Hannu Savolainen,
@ -1135,3 +1135,5 @@ Video Disk Recorder Revision History
is now immediately shown in the status line (followed by "...") to give the
user some feedback that the command is being executed, which is especially
important if this takes some time.
- Fixed scrolling the "Channels" menu in case the cursor ends up on a group
delimiter (thanks to Bernd Zierath for helping to debug this one).

10
osd.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osd.c 1.21 2002/03/10 16:18:06 kls Exp $
* $Id: osd.c 1.22 2002/03/24 11:23:23 kls Exp $
*/
#include "osd.h"
@ -288,6 +288,10 @@ void cOsdMenu::PageUp(void)
first -= MAXOSDITEMS;
if (first < 0)
first = current = 0;
if (SpecialItem(current)) {
current -= (current > 0) ? 1 : -1;
first = min(first, current - 1);
}
Display();
DisplayCurrent(true);
}
@ -302,6 +306,10 @@ void cOsdMenu::PageDown(void)
current = Count() - 1;
first = Count() - MAXOSDITEMS;
}
if (SpecialItem(current)) {
current += (current < Count() - 1) ? 1 : -1;
first = max(first, current - MAXOSDITEMS);
}
Display();
DisplayCurrent(true);
}