diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2006-12-01 13:35:41 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2006-12-01 13:35:41 +0100 |
commit | 3e0659a10aec259f7e298ce2f577d900b2c3eb41 (patch) | |
tree | d182c6054cb0569a383ca8e4db0d17175b0a8044 /skins.c | |
parent | 5945e2b1cb673c4c5946030f6917241f9def0375 (diff) | |
download | vdr-3e0659a10aec259f7e298ce2f577d900b2c3eb41.tar.gz vdr-3e0659a10aec259f7e298ce2f577d900b2c3eb41.tar.bz2 |
Fixed a possible segfault in cSkins::Message()
Diffstat (limited to 'skins.c')
-rw-r--r-- | skins.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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); |