diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 4da1a5c4..780ad5ff 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3116,6 +3116,7 @@ Mikael H Matthias Senzel for reporting a problem with switching back to live viewing after replay in a setup with device bonding + for reporting a problem with handling overlapping pending timers Marek Nazarko for translating OSD texts to the Polish language diff --git a/HISTORY b/HISTORY index 8fa81aff..469aa94f 100644 --- a/HISTORY +++ b/HISTORY @@ -7779,3 +7779,4 @@ Video Disk Recorder Revision History - Updated the Lithuanian OSD texts (thanks to Valdemaras Pipiras). - Fixed the description of the 'M' parameter of channel definitions in vdr.5. - Updated the French OSD texts (thanks to Dominique Plu). +- Fixed handling overlapping pending timers (reported by Matthias Senzel). diff --git a/timers.c b/timers.c index 279f5532..9a880e10 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.17 2013/03/16 10:37:10 kls Exp $ + * $Id: timers.c 2.18 2013/03/29 15:37:16 kls Exp $ */ #include "timers.h" @@ -720,8 +720,10 @@ cTimer *cTimers::GetMatch(time_t t) for (cTimer *ti = First(); ti; ti = Next(ti)) { if (!ti->Recording() && ti->Matches(t)) { if (ti->Pending()) { - if (ti->Index() > LastPending) + if (ti->Index() > LastPending) { LastPending = ti->Index(); + return ti; + } else continue; }