From 8690654eafe6832e1cd006504602fb8b61da8248 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 27 Oct 2001 13:48:20 +0200 Subject: [PATCH] Fixed handling the repeat function in the channel display --- HISTORY | 1 + menu.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/HISTORY b/HISTORY index 27fdea6d..a20123be 100644 --- a/HISTORY +++ b/HISTORY @@ -844,3 +844,4 @@ Video Disk Recorder Revision History (thanks to Helmut Schächner). - Changed the tuning code to use FrontendInfo to detect the type of DVB card. - Removed the recursion stuff from cThread (cMutex already does this). +- Fixed handling the repeat function in the channel display. diff --git a/menu.c b/menu.c index a1c7f231..aa58276e 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.133 2001/10/27 12:03:19 kls Exp $ + * $Id: menu.c 1.134 2001/10/27 13:47:12 kls Exp $ */ #include "menu.h" @@ -2062,7 +2062,9 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key) } } break; + case kLeft|k_Repeat: case kLeft: + case kRight|k_Repeat: case kRight: withInfo = false; if (group < 0) { @@ -2072,7 +2074,7 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key) } if (group >= 0) { int SaveGroup = group; - if (Key == kRight) + if (NORMALKEY(Key) == kRight) group = Channels.GetNextGroup(group) ; else group = Channels.GetPrevGroup(group < 1 ? 1 : group); @@ -2101,8 +2103,10 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key) case kOk: if (group >= 0) Channels.SwitchTo(Channels.Get(Channels.GetNextNormal(group))->number); return osEnd; - default: Interface->PutKey(Key); - return osEnd; + default: if ((Key & (k_Repeat | k_Release)) == 0) { + Interface->PutKey(Key); + return osEnd; + } }; if (time_ms() - lastTime < INFOTIMEOUT) { DisplayInfo();