Fixed channel switching with the Down (Up) key in case the current channel is already the first (last) in the list

This commit is contained in:
Klaus Schmidinger 2006-01-28 12:43:26 +01:00
parent a919e02de6
commit 759a45d508
3 changed files with 9 additions and 3 deletions

View File

@ -1538,6 +1538,8 @@ Matthias Lenk <matthias.lenk@amd.com>
Frank Krömmelbein <kroemmelbein@gmx.de>
for adding missing storing of the MenuScrollPage parameter
for reporting a problem with channel switching with the Down (Up) key in case the
current channel is already the first (last) in the list
Bernhard Stegmaier <bernhard.stegmaier@in.tum.de>
for reporting a problem in cEITScanner::Process() with forced EPG scans if EPG

View File

@ -4228,7 +4228,7 @@ Video Disk Recorder Revision History
- Fixed handling the '0' key for switching between the last two channels (thanks
to Thomas Bergwinkl).
2006-01-27: Version 1.3.41
2006-01-28: Version 1.3.41
- EPG events from epg.data or SVDRP's PUTE command now have their Title set to
"No Title" if none was set.
@ -4246,3 +4246,5 @@ Video Disk Recorder Revision History
- Now trying to reestablish the connection to the LIRC daemon in case it breaks
(thanks to Ville Skyttä).
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Fixed channel switching with the Down (Up) key in case the current channel is
already the first (last) in the list (reported by Frank Krömmelbein).

6
menu.c
View File

@ -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;