summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--menu.c11
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
diff --git a/HISTORY b/HISTORY
index 997f37df..282cf4b1 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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).
diff --git a/menu.c b/menu.c
index 2d6916ed..ab778e45 100644
--- a/menu.c
+++ b/menu.c
@@ -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;