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
* 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"
@ -3226,12 +3226,18 @@ eOSState cDisplayChannel::ProcessKey(eKeys Key)
}
};
if (!timeout || lastTime.Elapsed() < (uint64)(Setup.ChannelInfoTime * 1000)) {
if (!number && group < 0 && channel && channel->Number() != cDevice::CurrentChannel())
Refresh(); // makes sure a channel switch through the SVDRP CHAN command is displayed
if (Key == kNone && !number && group < 0 && !NewChannel && channel && channel->Number() != cDevice::CurrentChannel()) {
// makes sure a channel switch through the SVDRP CHAN command is displayed
channel = Channels.GetByNumber(cDevice::CurrentChannel());
Refresh();
lastTime.Set();
}
DisplayInfo();
displayChannel->Flush();
if (NewChannel)
if (NewChannel) {
Channels.SwitchTo(NewChannel->Number());
channel = NewChannel;
}
return osContinue;
}
return osEnd;