Making sure at least the default skin is available at program start

This commit is contained in:
Klaus Schmidinger 2005-01-14 13:10:32 +01:00
parent fbb4283bba
commit 43a4605eab
5 changed files with 27 additions and 8 deletions

View File

@ -1200,3 +1200,7 @@ Laurence Abbott <laz@club-burniston.co.uk>
Patrick Gleichmann <patrick@feedface.com>
for fixing the default quality value when grabbing a JPEG image
Achim Tuffentsammer <a.tuffentsammer@web.de>
for reporting a crash in case a plugin needs to issue an error message before the
skin has been set up

View File

@ -3287,3 +3287,10 @@ Video Disk Recorder Revision History
- Added support for circular polarization (thanks to Jonan Santiago).
- Thanks to Werner Fink, Reinhard Nissl, Sascha Volkenandt and Bjørnar Nilsen for
their support in testing and fine tuning this version.
2005-01-14: Version 1.3.19
- Making sure at least the default skin is available at program start in case a
plugin needs to issue an error message (thanks to Achim Tuffentshammer for
reporting a crash in such a case). Also checking if there is a current skin
in cSkins::Message().

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: config.h 1.209 2005/01/09 12:14:33 kls Exp $
* $Id: config.h 1.210 2005/01/09 16:50:11 kls Exp $
*/
#ifndef __CONFIG_H
@ -20,8 +20,8 @@
#include "i18n.h"
#include "tools.h"
#define VDRVERSION "1.3.18"
#define VDRVERSNUM 10318 // Version * 10000 + Major * 100 + Minor
#define VDRVERSION "1.3.19"
#define VDRVERSNUM 10319 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99
#define MAXLIFETIME 99

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.3 2004/11/07 09:46:46 kls Exp $
* $Id: skins.c 1.4 2005/01/14 13:07:19 kls Exp $
*/
#include "skins.h"
@ -130,6 +130,7 @@ cSkin::cSkin(const char *Name, cTheme *Theme)
if (theme)
cThemes::Save(name, theme);
Skins.Add(this);
Skins.SetCurrent(Name);
}
cSkin::~cSkin()
@ -172,6 +173,8 @@ eKeys cSkins::Message(eMessageType Type, const char *s, int Seconds)
case mtError: esyslog("ERROR: %s", s); break;
default: ;
}
if (!Current())
return kNone;
if (!cSkinDisplay::Current() && !displayMessage)
displayMessage = Current()->DisplayMessage();
cSkinDisplay::Current()->SetMessage(Type, s);

13
vdr.c
View File

@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/vdr
*
* $Id: vdr.c 1.198 2005/01/06 14:36:40 kls Exp $
* $Id: vdr.c 1.199 2005/01/09 16:35:36 kls Exp $
*/
#include <getopt.h>
@ -460,15 +460,20 @@ int main(int argc, char *argv[])
Interface = new cInterface(SVDRPport);
// Default skins:
new cSkinClassic;
new cSkinSTTNG;
Skins.SetCurrent(Setup.OSDSkin);
cThemes::Load(Skins.Current()->Name(), Setup.OSDTheme, Skins.Current()->Theme());
// Start plugins:
if (!PluginManager.StartPlugins())
EXIT(2);
// Skins:
// Set skin and theme in case they're implemented by a plugin:
new cSkinClassic;
new cSkinSTTNG;
Skins.SetCurrent(Setup.OSDSkin);
cThemes::Load(Skins.Current()->Name(), Setup.OSDTheme, Skins.Current()->Theme());