From 4bd9756caf4a21e7e6605d46e104682080cb8a72 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 12 Jan 2012 15:11:50 +0100 Subject: [PATCH] Fixed the SVDRP command CLRE for a single channel in case there are events that have a timer --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ svdrp.c | 6 +++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index b6b3b8c7..60ab34bb 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2492,6 +2492,8 @@ Timo Eskola 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 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);