Fixed handling 'page down', which was broken in version 1.3.26

This commit is contained in:
Klaus Schmidinger 2005-06-17 14:25:08 +02:00
parent 0eb9abbf12
commit 80a7ef5a55
3 changed files with 11 additions and 1 deletions

View File

@ -1241,6 +1241,7 @@ Udo Richter <udo_richter@gmx.de>
for fixing handling lifetime when deciding whether to delete a recording
for reporting a problem in handling page up/down in menu lists in case there are
several non selectable items in a row
for fixing handling 'page down' after it was broken in version 1.3.26
Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date

View File

@ -3612,3 +3612,8 @@ Video Disk Recorder Revision History
- Added cOsdMenu::SetCols() to allow adjusting the menu columns.
- Modified cEITScanner::Process() so that it works on systems with only budget cards
or a mix of DVB-S, DVB-C or DVB-T cards.
2005-06-17: Version 1.3.27
- Fixed handling 'page down', which was broken in version 1.3.26 (thanks to Udo
Richter).

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.17 2005/06/12 10:44:22 kls Exp $
* $Id: osdbase.c 1.18 2005/06/17 14:22:34 kls Exp $
*/
#include "osdbase.h"
@ -350,6 +350,10 @@ void cOsdMenu::PageDown(void)
current += displayMenuItems;
first += displayMenuItems;
int last = Count() - 1;
if (current > last)
current = last;
if (first + displayMenuItems > last)
first = max(0, last - displayMenuItems + 1);
int tmpCurrent = current;
while (!SelectableItem(tmpCurrent) && ++tmpCurrent <= last)
;