summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2021-01-15 13:52:40 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2021-01-15 13:52:40 +0100
commitd78d6fba7e0079712abc58e85fd441c625bb82b6 (patch)
tree32a35d401d630c7fe1016827eecfd1ab6b7ef27e
parent80bdc9065093caca1c1da7373dd25a6b52bb5774 (diff)
downloadvdr-d78d6fba7e0079712abc58e85fd441c625bb82b6.tar.gz
vdr-d78d6fba7e0079712abc58e85fd441c625bb82b6.tar.bz2
Spawned timers are now preferred over pattern timers in the Schedule menu
-rw-r--r--HISTORY5
-rw-r--r--timers.c6
2 files changed, 6 insertions, 5 deletions
diff --git a/HISTORY b/HISTORY
index fdc91853..ee6ba7ad 100644
--- a/HISTORY
+++ b/HISTORY
@@ -9578,7 +9578,7 @@ Video Disk Recorder Revision History
given (reported by Manuel Reimer).
- Fixed handling $(PKG_CONFIG) in newplugin (thanks to Winfried Köhler).
-2021-01-14:
+2021-01-15:
- Fixed strreplace() to handle NULL strings (reported by Jürgen Schneider).
- Somewhere down the road the 'x' bit of Doxyfile.filter got lost, so the
@@ -9594,3 +9594,6 @@ Video Disk Recorder Revision History
- Increased the number of possible modulation systems in cDevice::GetDevice()
(reported by Ulf Grüne).
- Now explicitly triggering respawning of pattern timers.
+- If an event in the Schedules menu is marked with a 'T' or 'I' and the user presses the
+ Red button to edit the timer, spawned timers are now preferred over pattern timers
+ in case there is more than one timer that will match that event.
diff --git a/timers.c b/timers.c
index 7e697f81..02c08969 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 5.3 2021/01/14 10:29:05 kls Exp $
+ * $Id: timers.c 5.4 2021/01/15 13:52:40 kls Exp $
*/
#include "timers.h"
@@ -1020,11 +1020,9 @@ const cTimer *cTimers::GetMatch(const cEvent *Event, eTimerMatch *Match) const
eTimerMatch m = tmNone;
for (const cTimer *ti = First(); ti; ti = Next(ti)) {
eTimerMatch tm = ti->Matches(Event);
- if (tm > m || tm == tmFull && ti->Local()) {
+ if (tm > m || tm == tmFull && t && (t->Remote() && ti->Local() || t->IsPatternTimer() && ti->HasFlags(tfSpawned))) {
t = ti;
m = tm;
- if (m == tmFull && ti->Local())
- break;
}
}
if (Match)