diff options
| -rw-r--r-- | HISTORY | 2 | ||||
| -rw-r--r-- | menu.c | 18 | 
2 files changed, 18 insertions, 2 deletions
| @@ -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. @@ -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;                }              } | 
