diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2012-10-13 14:19:26 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2012-10-13 14:19:26 +0200 |
commit | 8c633a5f65da85769600f8867296f33cc30b9946 (patch) | |
tree | 2563791d7f807e34ddd4fd144fe814bb625ac701 /timers.c | |
parent | 7f7fa7fd902c819f616312489dbe882f3bc1edfa (diff) | |
download | vdr-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.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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: |