From fd4ffed37bea7e196e49350741276339f92d51ee Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 15 Sep 2006 15:01:40 +0200 Subject: [PATCH] Fixed deleting expired VPS timers --- HISTORY | 4 +++- timers.c | 10 ++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/HISTORY b/HISTORY index cd3c6d00..9188873c 100644 --- a/HISTORY +++ b/HISTORY @@ -4915,9 +4915,11 @@ Video Disk Recorder Revision History - Implemented a copy constructor for cTimer (thanks to Udo Richter for reporting that an assignment in svdrp.c didn't use the cTimer::operator=()). -2006-09-09: Version 1.4.2-3 +2006-09-15: Version 1.4.2-3 - Added --remove-destination to the 'cp' command for binaries in the Makefiles of the plugins (thanks to Rolf Ahrenberg). - The 'skincurses' plugin now adjusts the size of the OSD to the size of the console window. +- Fixed deleting expired VPS timers (under certain conditions a timer could have been + deleted before it even started recording). diff --git a/timers.c b/timers.c index 18dab0ff..069b8578 100644 --- a/timers.c +++ b/timers.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: timers.c 1.64 2006/09/08 15:06:09 kls Exp $ + * $Id: timers.c 1.65 2006/09/15 14:15:53 kls Exp $ */ #include "timers.h" @@ -438,13 +438,7 @@ int cTimer::Matches(const cEvent *Event, int *Overlap) const bool cTimer::Expired(void) const { - if (IsSingleEvent() && !Recording() && StopTime() + EXPIRELATENCY <= time(NULL)) { - if (HasFlags(tfVps) && event && event->Vps()) - return event->RunningStatus() == SI::RunningStatusNotRunning; - else - return true; - } - return false; + return IsSingleEvent() && !Recording() && StopTime() + EXPIRELATENCY <= time(NULL) && (!HasFlags(tfVps) || !event); } time_t cTimer::StartTime(void) const