summaryrefslogtreecommitdiff
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
parent5945e2b1cb673c4c5946030f6917241f9def0375 (diff)
downloadvdr-3e0659a10aec259f7e298ce2f577d900b2c3eb41.tar.gz
vdr-3e0659a10aec259f7e298ce2f577d900b2c3eb41.tar.bz2
Fixed a possible segfault in cSkins::Message()
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY3
-rw-r--r--config.h4
-rw-r--r--skins.c7
4 files changed, 10 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index c6ca7591..322773ab 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -1474,6 +1474,7 @@ Udo Richter <udo_richter@gmx.de>
for reporting that an assignment in svdrp.c didn't use the cTimer::operator=())
for suggesting that the function cThread::Cancel() should only set 'running' to
false and not actually kill the thread if the special value -1 is given
+ or fixing a possible segfault in cSkins::Message()
Sven Kreiensen <svenk@kammer.uni-hannover.de>
for his help in keeping 'channels.conf.terr' up to date
diff --git a/HISTORY b/HISTORY
index 45ec6499..eb3a4c6d 100644
--- a/HISTORY
+++ b/HISTORY
@@ -4986,6 +4986,7 @@ Video Disk Recorder Revision History
- Fixed displaying the replay mode symbol in case of "Multi speed mode" (reported
by Marco Schlüßler).
-2006-11-19: Version 1.4.4-1
+2006-12-01: Version 1.4.4-1
- Some improvements to the man pages (thanks to Ville Skyttä).
+- Fixed a possible segfault in cSkins::Message() (thanks to Udo Richter).
diff --git a/config.h b/config.h
index 3d0e2a0d..610124e2 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.277 2006/11/04 13:19:31 kls Exp $
+ * $Id: config.h 1.278 2006/12/01 13:33:26 kls Exp $
*/
#ifndef __CONFIG_H
@@ -21,7 +21,7 @@
// VDR's own version number:
-#define VDRVERSION "1.4.4"
+#define VDRVERSION "1.4.4-1"
#define VDRVERSNUM 10404 // Version * 10000 + Major * 100 + Minor
// The plugin API's version number:
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);