diff options
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | osdbase.c | 3 |
3 files changed, 5 insertions, 1 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 99463b7b..6483964b 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1220,6 +1220,7 @@ Reinhard Nissl <rnissl@gmx.de> for reporting a memory leak when reaching the end of a recording during replay for reporting a call to close(-1) in cUnbufferedFile::Close() for reporting a possible problem in handling the length of DiSEqC command sequences + for fixing cOsdMenu::Display() in case the menu size has changed Richard Robson <richard_robson@beeb.net> for reporting freezing replay if a timer starts while in Transfer Mode from the @@ -6118,3 +6118,5 @@ Video Disk Recorder Revision History - Added a workaround for the broken linux-dvb driver header files (based on a patch from Tobias Grimm). - Fixed handling the length of DiSEqC command sequences (reported by Reinhard Nissl). +- Fixed cOsdMenu::Display() in case the menu size has changed (thanks to + Reinhard Nissl). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osdbase.c 1.32 2008/02/17 11:33:04 kls Exp $ + * $Id: osdbase.c 2.1 2009/06/01 11:54:50 kls Exp $ */ #include "osdbase.h" @@ -217,6 +217,7 @@ void cOsdMenu::Display(void) } if (current < 0) current = 0; // just for safety - there HAS to be a current item! + first = min(first, max(0, count - displayMenuItems)); // in case the menu size has changed if (current - first >= displayMenuItems || current < first) { first = current - displayMenuItems / 2; if (first + displayMenuItems > count) |