summaryrefslogtreecommitdiff
path: root/status.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2009-01-03 18:57:48 +0100
committerJochen Dolze <vdr@dolze.de>2009-01-03 18:57:48 +0100
commitfc926f81da5ac3d0a310a7fc8c960aee2b04c9bb (patch)
tree47723c32f55ed6d3717c118a8e6a9dd9e4b16da6 /status.cpp
parentc0be4f653bd22b9ea3878a805ea97429a6a6d9f9 (diff)
downloadvdr-plugin-infosatepg-fc926f81da5ac3d0a310a7fc8c960aee2b04c9bb.tar.gz
vdr-plugin-infosatepg-fc926f81da5ac3d0a310a7fc8c960aee2b04c9bb.tar.bz2
Changed wakeup (now set automatically)
Changed setup Changed device chooser Bugfixed segfault with obsolete channels
Diffstat (limited to 'status.cpp')
-rw-r--r--status.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/status.cpp b/status.cpp
index b540f74..9f02ef8 100644
--- a/status.cpp
+++ b/status.cpp
@@ -26,7 +26,11 @@ void cStatusInfosatepg::ChannelSwitch(const cDevice *Device, int ChannelNumber)
bool bAddFilter=false;
// just add filter if we aren't locked
- if ((ChannelNumber==global->Channel) && (!global->isLocked())) bAddFilter=true;
+ if (ChannelNumber==global->Channel)
+ {
+ if (Device!=global->dev) return; // don't use virtual devices (they will switch too)
+ if (!global->ReceivedAll()) bAddFilter=true;
+ }
if (bAddFilter)
{
@@ -55,7 +59,8 @@ void cStatusInfosatepg::ChannelSwitch(const cDevice *Device, int ChannelNumber)
dsyslog("infosatepg: detach filter");
myFilterDevice->Detach(myFilter);
myFilterDevice=NULL;
- global->SetTimer();
+ global->dev=NULL;
+ global->SetWaitTimer();
global->SetSwitched(false);
}
}