summaryrefslogtreecommitdiff
path: root/skins.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2006-12-01 13:35:41 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2006-12-01 13:35:41 +0100
commit3e0659a10aec259f7e298ce2f577d900b2c3eb41 (patch)
treed182c6054cb0569a383ca8e4db0d17175b0a8044 /skins.c
parent5945e2b1cb673c4c5946030f6917241f9def0375 (diff)
downloadvdr-3e0659a10aec259f7e298ce2f577d900b2c3eb41.tar.gz
vdr-3e0659a10aec259f7e298ce2f577d900b2c3eb41.tar.bz2
Fixed a possible segfault in cSkins::Message()
Diffstat (limited to 'skins.c')
-rw-r--r--skins.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/skins.c b/skins.c
index 7a9682ed..34b26382 100644
--- a/skins.c
+++ b/skins.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: skins.c 1.11 2006/06/03 14:39:14 kls Exp $
+ * $Id: skins.c 1.12 2006/12/01 13:32:37 kls Exp $
*/
#include "skins.h"
@@ -226,8 +226,11 @@ eKeys cSkins::Message(eMessageType Type, const char *s, int Seconds)
}
if (!Current())
return kNone;
- if (!cSkinDisplay::Current() && !displayMessage)
+ if (!cSkinDisplay::Current()) {
+ if (displayMessage)
+ delete displayMessage;
displayMessage = Current()->DisplayMessage();
+ }
cSkinDisplay::Current()->SetMessage(Type, s);
cSkinDisplay::Current()->Flush();
cStatus::MsgOsdStatusMessage(s);