diff options
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | menu.c | 11 |
3 files changed, 11 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 71fab48d..c2733fca 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3216,6 +3216,8 @@ Matthias Senzel <matthias.senzel@t-online.de> with device bonding for reporting a problem with handling overlapping pending timers for fixing the German translation of "Binary skip timeout (s)" + for reporting a bug in switching channels in the Schedule menu after going through + various Now and Schedule menus for different channels Marek Nazarko <mnazarko@gmail.com> for translating OSD texts to the Polish language @@ -8480,3 +8480,5 @@ Video Disk Recorder Revision History - Updated the Ukrainian OSD texts (thanks to Yarema Aka Knedlyk). - Updated the Romanian OSD texts (thanks to Lucian Muresan). - Updated the Hungarian OSD texts (thanks to István Füley). +- Fixed switching channels in the Schedule menu after going through various Now and + Schedule menus for different channels (reported by Matthias Senzel). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 3.36 2015/02/02 12:23:18 kls Exp $ + * $Id: menu.c 3.37 2015/02/03 10:42:55 kls Exp $ */ #include "menu.h" @@ -1748,9 +1748,12 @@ eOSState cMenuSchedule::Record(void) eOSState cMenuSchedule::Switch(void) { - if (otherChannel) { - if (Channels.SwitchTo(otherChannel)) - return osEnd; + cMenuScheduleItem *item = (cMenuScheduleItem *)Get(Current()); + if (item) { + if (cChannel *Channel = Channels.GetByChannelID(item->event->ChannelID(), true)) { + if (Channels.SwitchTo(Channel->Number())) + return osEnd; + } } Skins.Message(mtError, tr("Can't switch channel!")); return osContinue; |