summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2013-08-22 10:36:07 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2013-08-22 10:36:07 +0200
commit1f0a55ca7d0f681999f9f1eb4c05be956e195e63 (patch)
tree85567f7f6d91217ebc719199b7bbed8f4560b2a5
parent917331767b5fed77bdd300c5c9347e9ca887fc4f (diff)
downloadvdr-1f0a55ca7d0f681999f9f1eb4c05be956e195e63.tar.gz
vdr-1f0a55ca7d0f681999f9f1eb4c05be956e195e63.tar.bz2
Fixed a possible crash when shutting down VDR while subtitles are being displayed
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--device.c5
3 files changed, 7 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 72030010..ce52078b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -2017,6 +2017,8 @@ Ville Skyttä <ville.skytta@iki.fi>
be escaped
for changing the template for PLGCFG to $(CONFDIR)/plugins.mk
for updating the help and man page entry about the location of the epg.data file
+ for reporting a possible crash when shutting down VDR while subtitles are being
+ displayed
Steffen Beyer <cpunk@reactor.de>
for fixing setting the colored button help after deleting a recording in case the next
diff --git a/HISTORY b/HISTORY
index e613e02b..e8bb6ea0 100644
--- a/HISTORY
+++ b/HISTORY
@@ -7819,3 +7819,5 @@ Video Disk Recorder Revision History
- No longer trying to delete old recordings in AssertFreeDiskSpace() if the given
Priority is less than 1.
- Fixed handling LIRC events in case repeated events are lost.
+- Fixed a possible crash when shutting down VDR while subtitles are being displayed
+ (reported by Ville Skyttä).
diff --git a/device.c b/device.c
index e0fe84a4..d07a552c 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.74.1.1 2013/04/05 10:47:38 kls Exp $
+ * $Id: device.c 2.74.1.2 2013/08/22 10:35:30 kls Exp $
*/
#include "device.h"
@@ -118,6 +118,8 @@ cDevice::~cDevice()
DetachAllReceivers();
delete liveSubtitle;
delete dvbSubtitleConverter;
+ if (this == primaryDevice)
+ primaryDevice = NULL;
}
bool cDevice::WaitForAllDevicesReady(int Timeout)
@@ -362,7 +364,6 @@ void cDevice::SetCamSlot(cCamSlot *CamSlot)
void cDevice::Shutdown(void)
{
deviceHooks.Clear();
- primaryDevice = NULL;
for (int i = 0; i < numDevices; i++) {
delete device[i];
device[i] = NULL;