diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2006-05-28 09:19:30 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2006-05-28 09:19:30 +0200 |
commit | 39162a98f081d997ad34c1d8dfb48111176eac15 (patch) | |
tree | 128173b2da66b9f9d90dcb06ee8c6a7294d1333d /menu.c | |
parent | 9b3b98f88f3b29c4df704fa321bb882aaa7207c1 (diff) | |
download | vdr-39162a98f081d997ad34c1d8dfb48111176eac15.tar.gz vdr-39162a98f081d997ad34c1d8dfb48111176eac15.tar.bz2 |
Fixed moving channels, which sometimes stopped the current replay session
Diffstat (limited to 'menu.c')
-rw-r--r-- | menu.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.436 2006/05/25 12:24:53 kls Exp $ + * $Id: menu.c 1.437 2006/05/28 09:17:25 kls Exp $ */ #include "menu.h" @@ -530,8 +530,15 @@ void cMenuChannels::Move(int From, int To) cOsdMenu::Move(From, To); Propagate(); isyslog("channel %d moved to %d", FromNumber, ToNumber); - if (CurrentChannel && CurrentChannel->Number() != CurrentChannelNr) - Channels.SwitchTo(CurrentChannel->Number()); + if (CurrentChannel && CurrentChannel->Number() != CurrentChannelNr) { + if (!cDevice::PrimaryDevice()->Replaying() || cDevice::PrimaryDevice()->Transferring()) + Channels.SwitchTo(CurrentChannel->Number()); +#if APIVERSNUM != 10400 +#warning ******* API version changed - activate new code + else + cDevice::SetCurrentChannel(CurrentChannel); +#endif + } } } |