Fixed a crash in a plugin using cDeviceHook when VDR ends

This commit is contained in:
Klaus Schmidinger 2012-01-18 10:51:01 +01:00
parent 33342fb17b
commit d3bf039f3f
3 changed files with 4 additions and 1 deletions

View File

@ -680,6 +680,7 @@ Oliver Endriss <o.endriss@gmx.de>
for his input on calculating the Aspect factor in GetOsdSize() for his input on calculating the Aspect factor in GetOsdSize()
for suggesting a better way of handling calls to realloc() for suggesting a better way of handling calls to realloc()
for making the cutter set the 'broken link' flag for MPEG2 TS recordings 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 <rw.buchner@freenet.de> Reinhard Walter Buchner <rw.buchner@freenet.de>
for adding some satellites to 'sources.conf' for adding some satellites to 'sources.conf'

View File

@ -6848,3 +6848,4 @@ Video Disk Recorder Revision History
- Fixed asserting there is a live programme if the primary device is bonded with - Fixed asserting there is a live programme if the primary device is bonded with
a device that starts a recording on a different band. a device that starts a recording on a different band.
- Fixed the return type of cMyDeviceHook::DeviceProvidesTransponder() in PLUGINS.html. - 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).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "device.h"
@ -335,6 +335,7 @@ void cDevice::SetCamSlot(cCamSlot *CamSlot)
void cDevice::Shutdown(void) void cDevice::Shutdown(void)
{ {
deviceHooks.Clear();
primaryDevice = NULL; primaryDevice = NULL;
for (int i = 0; i < numDevices; i++) { for (int i = 0; i < numDevices; i++) {
delete device[i]; delete device[i];