summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2013-03-29 15:37:16 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2013-03-29 15:37:16 +0100
commit965feab54f2f8d88a865df6db137e3576f479368 (patch)
tree1764eee622accf0a42d5a374400375586d722f71
parentf30ac5075e6420eb82657a99cb8232aaca23a116 (diff)
downloadvdr-965feab54f2f8d88a865df6db137e3576f479368.tar.gz
vdr-965feab54f2f8d88a865df6db137e3576f479368.tar.bz2
Fixed handling overlapping pending timers
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY1
-rw-r--r--timers.c6
3 files changed, 6 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 4da1a5c4..780ad5ff 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -3116,6 +3116,7 @@ Mikael Hübsch <mikael.hubsch@gmail.com>
Matthias Senzel <matthias.senzel@t-online.de>
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 <mnazarko@gmail.com>
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;
}