diff options
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | svdrp.c | 6 |
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 @@ -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). @@ -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); |