1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed detecting channel switches from SVDRP

This commit is contained in:
Klaus Schmidinger 2006-01-22 16:06:39 +01:00
parent 359d7c376a
commit 1f2574fb12

14
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.402 2006/01/22 14:49:54 kls Exp $ * $Id: menu.c 1.403 2006/01/22 16:06:39 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@ -3226,12 +3226,18 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key)
} }
}; };
if (!timeout || lastTime.Elapsed() < (uint64)(Setup.ChannelInfoTime * 1000)) { if (!timeout || lastTime.Elapsed() < (uint64)(Setup.ChannelInfoTime * 1000)) {
if (!number && group < 0 && channel && channel->Number() != cDevice::CurrentChannel()) if (Key == kNone && !number && group < 0 && !NewChannel && channel && channel->Number() != cDevice::CurrentChannel()) {
Refresh(); // makes sure a channel switch through the SVDRP CHAN command is displayed // makes sure a channel switch through the SVDRP CHAN command is displayed
channel = Channels.GetByNumber(cDevice::CurrentChannel());
Refresh();
lastTime.Set();
}
DisplayInfo(); DisplayInfo();
displayChannel->Flush(); displayChannel->Flush();
if (NewChannel) if (NewChannel) {
Channels.SwitchTo(NewChannel->Number()); Channels.SwitchTo(NewChannel->Number());
channel = NewChannel;
}
return osContinue; return osContinue;
} }
return osEnd; return osEnd;