From d369eb9408763557f378498734b7c3cc234f895d Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 9 Aug 2003 10:19:33 +0200 Subject: Fixed keeping track of the current channel number when moving channels in the "Channels" menu --- menu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'menu.c') diff --git a/menu.c b/menu.c index b29961e4..6dcb2362 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 1.264 2003/08/03 09:38:37 kls Exp $ + * $Id: menu.c 1.265 2003/08/09 10:14:44 kls Exp $ */ #include "menu.h" @@ -763,6 +763,8 @@ eOSState cMenuChannels::Delete(void) void cMenuChannels::Move(int From, int To) { + int CurrentChannelNr = cDevice::CurrentChannel(); + cChannel *CurrentChannel = Channels.GetByNumber(CurrentChannelNr); cChannel *FromChannel = GetChannel(From); cChannel *ToChannel = GetChannel(To); if (FromChannel && ToChannel) { @@ -772,6 +774,8 @@ 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()); } } -- cgit v1.2.3