summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--device.c5
-rw-r--r--dvbdevice.c3
3 files changed, 7 insertions, 3 deletions
diff --git a/HISTORY b/HISTORY
index fe486796..54e72a0d 100644
--- a/HISTORY
+++ b/HISTORY
@@ -6855,3 +6855,5 @@ Video Disk Recorder Revision History
faster in case the file is very large (suggested by Helmut Auer).
- Fixed selecting the primary device for receiving the live viewing channel in
case it is bonded with an other device and has no receiver attached to it.
+- Fixed a possible crash when canceling VDR while displaying subtitles, and the
+ primary device is no longer available.
diff --git a/device.c b/device.c
index 714668db..5ffc28d1 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.46 2012/01/18 10:43:00 kls Exp $
+ * $Id: device.c 2.47 2012/02/12 15:44:06 kls Exp $
*/
#include "device.h"
@@ -41,7 +41,8 @@ cLiveSubtitle::~cLiveSubtitle()
void cLiveSubtitle::Receive(uchar *Data, int Length)
{
- cDevice::PrimaryDevice()->PlayTs(Data, Length);
+ if (cDevice::PrimaryDevice())
+ cDevice::PrimaryDevice()->PlayTs(Data, Length);
}
// --- cDeviceHook -----------------------------------------------------------
diff --git a/dvbdevice.c b/dvbdevice.c
index 2966ef33..ca522e8b 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 2.60 2012/02/12 12:38:49 kls Exp $
+ * $Id: dvbdevice.c 2.61 2012/02/12 15:45:10 kls Exp $
*/
#include "dvbdevice.h"
@@ -1008,6 +1008,7 @@ cDvbDevice::cDvbDevice(int Adapter, int Frontend)
numModulations = 0;
bondedDevice = NULL;
needsDetachBondedReceivers = false;
+ tsBuffer = NULL;
// Devices that are present on all card types: