diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2012-02-12 15:45:59 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2012-02-12 15:45:59 +0100 |
commit | 1e74f596b238358fe0b348208d4ef714ce5dd9f2 (patch) | |
tree | dc5f7b77ca5f17747eda8a64351376072790245b | |
parent | cace8bed8d05444168ab82d0042f6ac5193befb4 (diff) | |
download | vdr-1e74f596b238358fe0b348208d4ef714ce5dd9f2.tar.gz vdr-1e74f596b238358fe0b348208d4ef714ce5dd9f2.tar.bz2 |
Fixed a possible crash when canceling VDR while displaying subtitles, and the primary device is no longer available
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | device.c | 5 | ||||
-rw-r--r-- | dvbdevice.c | 3 |
3 files changed, 7 insertions, 3 deletions
@@ -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. @@ -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: |