Spawned timers are now preferred over pattern timers in the Schedule menu

This commit is contained in:
Klaus Schmidinger 2021-01-15 13:52:40 +01:00
parent 80bdc90650
commit d78d6fba7e
2 changed files with 6 additions and 5 deletions

View File

@ -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.

View File

@ -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)