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>
for suggesting the -m command line option
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>
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).
- 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
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
* 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());
}
}