summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2006-01-22 16:06:39 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2006-01-22 16:06:39 +0100
commit1f2574fb1264113f28098f2db67b378fc20fd333 (patch)
tree975619b02b4b497e1018df70658dc8897f1ffc87 /menu.c
parent359d7c376aab5b688e89fd869cfe0a4873abb5cd (diff)
downloadvdr-1f2574fb1264113f28098f2db67b378fc20fd333.tar.gz
vdr-1f2574fb1264113f28098f2db67b378fc20fd333.tar.bz2
Fixed detecting channel switches from SVDRP
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/menu.c b/menu.c
index 15955704..ec49b1ce 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.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;