diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 2a3d8588..cabaa825 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -680,6 +680,7 @@ Oliver Endriss for his input on calculating the Aspect factor in GetOsdSize() for suggesting a better way of handling calls to realloc() for making the cutter set the 'broken link' flag for MPEG2 TS recordings + for reporting a crash in a plugin using cDeviceHook when VDR ends Reinhard Walter Buchner for adding some satellites to 'sources.conf' diff --git a/HISTORY b/HISTORY index 91090e93..b7762673 100644 --- a/HISTORY +++ b/HISTORY @@ -6848,3 +6848,4 @@ Video Disk Recorder Revision History - Fixed asserting there is a live programme if the primary device is bonded with a device that starts a recording on a different band. - Fixed the return type of cMyDeviceHook::DeviceProvidesTransponder() in PLUGINS.html. +- Fixed a crash in a plugin using cDeviceHook when VDR ends (reported by Oliver Endriss). diff --git a/device.c b/device.c index be59ed5f..714668db 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 2.45 2012/01/17 15:28:57 kls Exp $ + * $Id: device.c 2.46 2012/01/18 10:43:00 kls Exp $ */ #include "device.h" @@ -335,6 +335,7 @@ void cDevice::SetCamSlot(cCamSlot *CamSlot) void cDevice::Shutdown(void) { + deviceHooks.Clear(); primaryDevice = NULL; for (int i = 0; i < numDevices; i++) { delete device[i];