diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2008-03-14 13:27:39 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2008-03-14 13:27:39 +0100 |
commit | e68d8ab41c1483926caf375bd75f3405df614d1d (patch) | |
tree | 3f783422778bf9d685ecb1bf710c2e97270bee7a /vdr.c | |
parent | 864acdeed401e63bedc9619632515c01251448d6 (diff) | |
download | vdr-e68d8ab41c1483926caf375bd75f3405df614d1d.tar.gz vdr-e68d8ab41c1483926caf375bd75f3405df614d1d.tar.bz2 |
Fixed tuning to a live channel after a recording has been stopped using the 'Back' key
Diffstat (limited to 'vdr.c')
-rw-r--r-- | vdr.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.312 2008/02/23 15:36:01 kls Exp $ + * $Id: vdr.c 1.313 2008/03/14 13:22:39 kls Exp $ */ #include <getopt.h> @@ -546,6 +546,7 @@ int main(int argc, char *argv[]) int MaxLatencyTime = 0; bool InhibitEpgScan = false; bool IsInfoMenu = false; + bool CheckHasProgramme = false; cSkin *CurrentSkin = NULL; // Load plugins: @@ -730,7 +731,7 @@ int main(int argc, char *argv[]) // Make sure we have a visible programme in case device usage has changed: if (!EITScanner.Active() && cDevice::PrimaryDevice()->HasDecoder() && !cDevice::PrimaryDevice()->HasProgramme()) { static time_t lastTime = 0; - if (!Menu && Now - lastTime > MINCHANNELWAIT) { // !Menu to avoid interfering with the CAM if a CAM menu is open + if ((!Menu || CheckHasProgramme) && Now - lastTime > MINCHANNELWAIT) { // !Menu to avoid interfering with the CAM if a CAM menu is open cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel()); if (Channel && (Channel->Vpid() || Channel->Apid(0))) { if (!Channels.SwitchTo(cDevice::CurrentChannel()) // try to switch to the original channel... @@ -739,6 +740,7 @@ int main(int argc, char *argv[]) } lastTime = Now; // don't do this too often LastTimerChannel = -1; + CheckHasProgramme = false; } } // Restart the Watchdog timer: @@ -1120,6 +1122,7 @@ int main(int argc, char *argv[]) DELETE_MENU; cControl::Shutdown(); Menu = new cMenuMain(osRecordings); + CheckHasProgramme = true; // to have live tv after stopping replay with 'Back' break; case osReplay: DELETE_MENU; cControl::Shutdown(); |