1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed updating the cursor position when switching channels with the Channel+/- keys while the Channels menu is open

This commit is contained in:
Klaus Schmidinger 2019-03-18 16:20:17 +01:00
parent 1fa861ecb9
commit bd3b6f17e4
2 changed files with 18 additions and 2 deletions

View File

@ -9387,3 +9387,5 @@ Video Disk Recorder Revision History
SI::ExtensionDescriptor (reported by Helmut Binder).
- Fixed sorting recordings alphabetically.
- Fixed dropping capabilities in case cap_sys_time is not available.
- Fixed updating the cursor position when switching channels with the Channel+/- keys
while the Channels menu is open.

18
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 4.78 2018/07/16 09:29:57 kls Exp $
* $Id: menu.c 4.79 2019/03/18 16:14:06 kls Exp $
*/
#include "menu.h"
@ -576,7 +576,7 @@ eOSState cMenuChannels::ProcessKey(eKeys Key)
break;
default:
if (state == osUnknown) {
switch (Key) {
switch (int(Key)) {
case k0 ... k9:
return Number(Key);
case kOk: return Switch();
@ -586,6 +586,20 @@ eOSState cMenuChannels::ProcessKey(eKeys Key)
case kBlue: if (!HasSubMenu())
Mark();
break;
case kChanUp|k_Repeat:
case kChanUp:
case kChanDn|k_Repeat:
case kChanDn: {
LOCK_CHANNELS_READ;
int CurrentChannelNr = cDevice::CurrentChannel();
for (cMenuChannelItem *ci = (cMenuChannelItem *)First(); ci; ci = (cMenuChannelItem *)ci->Next()) {
if (!ci->Channel()->GroupSep() && ci->Channel()->Number() == CurrentChannelNr) {
SetCurrent(ci);
Display();
break;
}
}
}
default: break;
}
}