Fixed a possible segfault in cSkins::Message()

This commit is contained in:
Klaus Schmidinger
2006-12-01 13:35:41 +01:00
parent 5945e2b1cb
commit 3e0659a10a
4 changed files with 10 additions and 5 deletions

View File

@@ -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);