summaryrefslogtreecommitdiff
path: root/timers.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2012-10-13 14:19:26 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2012-10-13 14:19:26 +0200
commit8c633a5f65da85769600f8867296f33cc30b9946 (patch)
tree2563791d7f807e34ddd4fd144fe814bb625ac701 /timers.c
parent7f7fa7fd902c819f616312489dbe882f3bc1edfa (diff)
downloadvdr-8c633a5f65da85769600f8867296f33cc30b9946.tar.gz
vdr-8c633a5f65da85769600f8867296f33cc30b9946.tar.bz2
Fixed handling VPS timers in case the running status of an event goes to '1' (not running) and later goes to '4' (running)
Diffstat (limited to 'timers.c')
-rw-r--r--timers.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/timers.c b/timers.c
index 7d4c70b1..b5678f90 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 2.12 2012/09/15 13:34:03 kls Exp $
+ * $Id: timers.c 2.13 2012/10/13 14:16:22 kls Exp $
*/
#include "timers.h"
@@ -551,6 +551,8 @@ void cTimer::SetEventFromSchedule(const cSchedules *Schedules)
if (HasFlags(tfVps) && Schedule->Events()->First()->Vps()) {
if (event && Recording())
return; // let the recording end first
+ if (event && (now <= event->EndTime() || Matches(0, true)))
+ return; // stay with the old event until the timer has completely expired
// VPS timers only match if their start time exactly matches the event's VPS time:
for (const cEvent *e = Schedule->Events()->First(); e; e = Schedule->Events()->Next(e)) {
if (e->StartTime() && e->RunningStatus() != SI::RunningStatusNotRunning) { // skip outdated events
@@ -562,8 +564,6 @@ void cTimer::SetEventFromSchedule(const cSchedules *Schedules)
}
}
}
- if (!Event && event && (now <= event->EndTime() || Matches(0, true)))
- return; // stay with the old event until the timer has completely expired
}
else {
// Normal timers match the event they have the most overlap with: