summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2012-01-12 15:11:50 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2012-01-12 15:11:50 +0100
commit4bd9756caf4a21e7e6605d46e104682080cb8a72 (patch)
tree4cd10a210cd60091c40fe86545afc266344f01db
parent70d4e5105bddded33457342f9d6f1c7502d87b69 (diff)
downloadvdr-4bd9756caf4a21e7e6605d46e104682080cb8a72.tar.gz
vdr-4bd9756caf4a21e7e6605d46e104682080cb8a72.tar.bz2
Fixed the SVDRP command CLRE for a single channel in case there are events that have a timer
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--svdrp.c6
3 files changed, 9 insertions, 1 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index b6b3b8c7..60ab34bb 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -2492,6 +2492,8 @@ Timo Eskola <timo@tolleri.net>
for implementing sending all frames to devices that can handle them in fast forward
trick speeds
for implementing the setup option "Recording/Pause key handling"
+ for fixing the SVDRP command CLRE for a single channel in case there are events
+ that have a timer
Elias Luttinen <el@iki.fi>
for improving the description of where logging goes in the INSTALL file
diff --git a/HISTORY b/HISTORY
index eb263c6e..c16f761c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -6816,3 +6816,5 @@ Video Disk Recorder Revision History
- Fixed cConfig::Load() for g++ version 4.7.0 (thanks to Ville Skyttä).
- Fixed a possible memory corruption in cTsToPes::GetPes() in case of broken
TS packets, e.g. when switching channels.
+- Fixed the SVDRP command CLRE for a single channel in case there are events
+ that have a timer (thanks to Timo Eskola).
diff --git a/svdrp.c b/svdrp.c
index b333202b..a659cd49 100644
--- a/svdrp.c
+++ b/svdrp.c
@@ -10,7 +10,7 @@
* and interact with the Video Disk Recorder - or write a full featured
* graphical interface that sits on top of an SVDRP connection.
*
- * $Id: svdrp.c 2.12 2011/12/04 13:58:33 kls Exp $
+ * $Id: svdrp.c 2.13 2012/01/12 15:02:46 kls Exp $
*/
#include "svdrp.h"
@@ -583,6 +583,10 @@ void cSVDRP::CmdCLRE(const char *Option)
}
}
if (Schedule) {
+ for (cTimer *Timer = Timers.First(); Timer; Timer = Timers.Next(Timer)) {
+ if (ChannelID == Timer->Channel()->GetChannelID().ClrRid())
+ Timer->SetEvent(NULL);
+ }
Schedule->Cleanup(INT_MAX);
cEitFilter::SetDisableUntil(time(NULL) + EITDISABLETIME);
Reply(250, "EPG data of channel \"%s\" cleared", Option);