summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2006-01-28 12:43:26 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2006-01-28 12:43:26 +0100
commit759a45d5086b427ad53486b2b13ab0011b869dee (patch)
tree05d940f7598a53012bf8a3f110418f3c4903206e /menu.c
parenta919e02de681539484316cea8ce1b3c9e088b682 (diff)
downloadvdr-759a45d5086b427ad53486b2b13ab0011b869dee.tar.gz
vdr-759a45d5086b427ad53486b2b13ab0011b869dee.tar.bz2
Fixed channel switching with the Down (Up) key in case the current channel is already the first (last) in the list
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/menu.c b/menu.c
index bdd4aeb4..247aeed6 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.404 2006/01/27 14:04:34 kls Exp $
+ * $Id: menu.c 1.405 2006/01/28 12:37:02 kls Exp $
*/
#include "menu.h"
@@ -3174,13 +3174,15 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key)
cChannel *ch = NextAvailableChannel(channel, (k == kUp || k == kChanUp) ? 1 : -1);
if (ch)
channel = ch;
+ else if (channel && channel->Number() != cDevice::CurrentChannel())
+ Key = k; // immediately switches channel when hitting the beginning/end of the channel list with k_Repeat
}
// no break here
case kUp|k_Release:
case kDown|k_Release:
case kChanUp|k_Release:
case kChanDn|k_Release:
- if (!(Key & k_Repeat) && channel)
+ if (!(Key & k_Repeat) && channel && channel->Number() != cDevice::CurrentChannel())
NewChannel = channel;
withInfo = true;
group = -1;