diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2007-01-04 13:11:52 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2007-01-04 13:11:52 +0100 |
commit | dcff08512e69a8eac5a6188c23fe56e8672fe5d4 (patch) | |
tree | adc80297b879455561fc3f71905245c4bb6fa022 | |
parent | e72bff8938efd6fe2b0a01219b75a8729191f07c (diff) | |
download | vdr-dcff08512e69a8eac5a6188c23fe56e8672fe5d4.tar.gz vdr-dcff08512e69a8eac5a6188c23fe56e8672fe5d4.tar.bz2 |
Fixed a possible segfault if VDR gets terminated while a message is displayed
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 5 | ||||
-rw-r--r-- | config.h | 4 | ||||
-rw-r--r-- | skins.c | 11 | ||||
-rw-r--r-- | skins.h | 4 |
5 files changed, 21 insertions, 4 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 6a658220..628dd8a8 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1477,6 +1477,7 @@ Udo Richter <udo_richter@gmx.de> false and not actually kill the thread if the special value -1 is given or fixing a possible segfault in cSkins::Message() for some hints on how to improve handling cPluginManager::Active() + for fixing a possible segfault if VDR gets terminated while a message is displayed Sven Kreiensen <svenk@kammer.uni-hannover.de> for his help in keeping 'channels.conf.terr' up to date @@ -5015,3 +5015,8 @@ Video Disk Recorder Revision History - Added a compatibility define for 'uint64' to tools.h, so that existing plugins don't need to be modified immediately (reported by Suur Karu). This will be removed in version 1.5. + +2007-01-04: Version 1.4.4-3 + +- Fixed a possible segfault if VDR gets terminated while a message is displayed + (thanks to Udo Richter). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.280 2006/12/03 16:44:29 kls Exp $ + * $Id: config.h 1.281 2007/01/04 13:08:55 kls Exp $ */ #ifndef __CONFIG_H @@ -21,7 +21,7 @@ // VDR's own version number: -#define VDRVERSION "1.4.4-2" +#define VDRVERSION "1.4.4-3" #define VDRVERSNUM 10404 // Version * 10000 + Major * 100 + Minor // The plugin API's version number: @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skins.c 1.12 2006/12/01 13:32:37 kls Exp $ + * $Id: skins.c 1.13 2007/01/04 13:08:55 kls Exp $ */ #include "skins.h" @@ -358,3 +358,12 @@ void cSkins::Flush(void) if (cSkinDisplay::Current()) cSkinDisplay::Current()->Flush(); } + +void cSkins::Clear(void) +{ + if (displayMessage) { + delete displayMessage; + displayMessage = NULL; + } + cList<cSkin>::Clear(); +} @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skins.h 1.14 2006/06/03 10:21:45 kls Exp $ + * $Id: skins.h 1.15 2007/01/04 13:08:55 kls Exp $ */ #ifndef __SKINS_H @@ -360,6 +360,8 @@ public: ///< Processes the first queued message, if any. void Flush(void); ///< Flushes the currently active cSkinDisplay, if any. + virtual void Clear(void); + ///< Free up all registered skins }; extern cSkins Skins; |