From cd6041f9ae78cac1eb910fb03460f723810c225f Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 19 Oct 2007 14:46:23 +0200 Subject: [PATCH] Housekeeping now waits for a while after a replay has ended --- CONTRIBUTORS | 1 + HISTORY | 1 + vdr.c | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 2989cbf9..95743cdf 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1537,6 +1537,7 @@ Udo Richter for reporting a problem in handling reallocated memory in cCharSetConv::Convert() for fixing a new[]/delete mismatch in cMenuEditStrItem::LeaveEditMode() for improving shutdown handling + for making housekeeping wait for a while after a replay has ended Sven Kreiensen for his help in keeping 'channels.conf.terr' up to date diff --git a/HISTORY b/HISTORY index 25e5d040..7eac2a1a 100644 --- a/HISTORY +++ b/HISTORY @@ -5498,3 +5498,4 @@ Video Disk Recorder Revision History - The "Play" key now starts replay of the selected recording in the Recordings menu (thanks to Ville Skyttä); - Improved shutdown handling (thanks to Udo Richter). +- Housekeeping now waits for a while after a replay has ended (thanks to Udo Richter). diff --git a/vdr.c b/vdr.c index e6347878..f858add2 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.300 2007/09/26 14:36:48 kls Exp $ + * $Id: vdr.c 1.301 2007/10/19 14:44:19 kls Exp $ */ #include @@ -523,6 +523,7 @@ int main(int argc, char *argv[]) int PreviousChannel[2] = { 1, 1 }; int PreviousChannelIndex = 0; time_t LastChannelChanged = time(NULL); + time_t LastInteract = 0; int MaxLatencyTime = 0; bool InhibitEpgScan = false; bool IsInfoMenu = false; @@ -1069,6 +1070,7 @@ int main(int argc, char *argv[]) } Interact = Menu ? Menu : cControl::Control(); // might have been closed in the mean time if (Interact) { + LastInteract = Now; eOSState state = Interact->ProcessKey(key); if (state == osUnknown && Interact != cControl::Control()) { if (ISMODELESSKEY(key) && cControl::Control()) { @@ -1195,7 +1197,7 @@ int main(int argc, char *argv[]) ShutdownHandler.countdown.Cancel(); } - if (!Interact && !cRecordControls::Active() && !cCutter::Active() && !Interface->HasSVDRPConnection() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) { + if ((Now - LastInteract) > ACTIVITYTIMEOUT && !cRecordControls::Active() && !cCutter::Active() && !Interface->HasSVDRPConnection() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) { // Handle housekeeping tasks // Shutdown: