Fixed keeping track of the current channel number when moving channels in the "Channels" menu

This commit is contained in:
Klaus Schmidinger 2003-08-09 10:19:33 +02:00
parent b9a8abbe93
commit d369eb9408
3 changed files with 10 additions and 2 deletions

View File

@ -328,6 +328,8 @@ Bernd Schweikert <bernd.schweikert@dit-gmbh.de>
Mirko Günther <mi.guenther@ib-helms.de> Mirko Günther <mi.guenther@ib-helms.de>
for suggesting the -m command line option for suggesting the -m command line option
for suggesting the SVDRP command VOLU for suggesting the SVDRP command VOLU
for reporting a bug in keeping track of the current channel number when moving
channels in the "Channels" menu
Achim Lange <Achim_Lange@t-online.de> Achim Lange <Achim_Lange@t-online.de>
for replacing 'killproc' with 'killall' in 'runvdr' to make it work on Debian for replacing 'killproc' with 'killall' in 'runvdr' to make it work on Debian

View File

@ -2283,7 +2283,9 @@ Video Disk Recorder Revision History
or Makefile.config as defaults (thanks to Steffen Barszus). or Makefile.config as defaults (thanks to Steffen Barszus).
- Added the usual menu timeout to the CAM menus. - Added the usual menu timeout to the CAM menus.
2003-08-06: Version 1.2.3 2003-08-09: Version 1.2.3
- Fixed the TS to PES repacker so that it works with MPEG1 streams (thanks to - Fixed the TS to PES repacker so that it works with MPEG1 streams (thanks to
Andreas Kool). Andreas Kool).
- Fixed keeping track of the current channel number when moving channels in
the "Channels" menu (thanks to Mirko Günther for reporting this one).

6
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "menu.h"
@ -763,6 +763,8 @@ eOSState cMenuChannels::Delete(void)
void cMenuChannels::Move(int From, int To) void cMenuChannels::Move(int From, int To)
{ {
int CurrentChannelNr = cDevice::CurrentChannel();
cChannel *CurrentChannel = Channels.GetByNumber(CurrentChannelNr);
cChannel *FromChannel = GetChannel(From); cChannel *FromChannel = GetChannel(From);
cChannel *ToChannel = GetChannel(To); cChannel *ToChannel = GetChannel(To);
if (FromChannel && ToChannel) { if (FromChannel && ToChannel) {
@ -772,6 +774,8 @@ void cMenuChannels::Move(int From, int To)
cOsdMenu::Move(From, To); cOsdMenu::Move(From, To);
Propagate(); Propagate();
isyslog("channel %d moved to %d", FromNumber, ToNumber); isyslog("channel %d moved to %d", FromNumber, ToNumber);
if (CurrentChannel && CurrentChannel->Number() != CurrentChannelNr)
Channels.SwitchTo(CurrentChannel->Number());
} }
} }