Fixed switching channels in the Schedule menu after going through various Now and Schedule menus for different channels

This commit is contained in:
Klaus Schmidinger 2015-02-03 10:52:33 +01:00
parent 0703fbf527
commit 93ec1a9df2
3 changed files with 11 additions and 4 deletions

View File

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

View File

@ -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).

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