diff options
-rw-r--r-- | CONTRIBUTORS | 4 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | menu.c | 9 |
3 files changed, 11 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index ce3c0ce9..4b2e571d 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1157,11 +1157,13 @@ Andreas Regel <andreas.regel@gmx.de> for reporting a problem with messages when a cOsdObject uses the raw OSD for implementing palette replace mode in the OSD bitmaps -Thomas Bergwinkl <Thomas.Bergwinkl@t-online.de> +Thomas Bergwinkl <Thomas.Bergwinkl@vr-web.de> for fixing the validity check for channel IDs, because some providers use TIDs with value 0 for pointing out that transponder handling didn't work with satellites that provide two transponders on the same frequency, with different polarization + for fixing detecting if there can be any useful further input when entering channel + numbers Stéphane Esté-Gracias <sestegra@free.fr> for fixing a typo in libsi/si.h @@ -4222,3 +4222,5 @@ Video Disk Recorder Revision History the final switch when the key is released. - The channel display is now updated _before_ the channel is switched. - Added a missing initialization of 'timeout' in the cDisplayChannel constructor. +- Fixed detecting if there can be any useful further input when entering channel + numbers (thanks to Thomas Bergwinkl). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.400 2006/01/22 14:24:02 kls Exp $ + * $Id: menu.c 1.401 2006/01/22 14:30:00 kls Exp $ */ #include "menu.h" @@ -3107,15 +3107,18 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key) DisplayChannel(); // Lets see if there can be any useful further input: int n = channel ? number * 10 : 0; + int m = 10; cChannel *ch = channel; while (ch && (ch = Channels.Next(ch)) != NULL) { if (!ch->GroupSep()) { - if (n <= ch->Number() && ch->Number() <= n + 9) { + if (n <= ch->Number() && ch->Number() < n + m) { n = 0; break; } - if (ch->Number() > n) + if (ch->Number() > n) { n *= 10; + m *= 10; + } } } if (n > 0) { |