diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2006-01-28 12:43:26 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2006-01-28 12:43:26 +0100 |
commit | 759a45d5086b427ad53486b2b13ab0011b869dee (patch) | |
tree | 05d940f7598a53012bf8a3f110418f3c4903206e /menu.c | |
parent | a919e02de681539484316cea8ce1b3c9e088b682 (diff) | |
download | vdr-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.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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; |