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> Patrick Gleichmann <patrick@feedface.com>
for fixing the default quality value when grabbing a JPEG image 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). - Added support for circular polarization (thanks to Jonan Santiago).
- Thanks to Werner Fink, Reinhard Nissl, Sascha Volkenandt and Bjørnar Nilsen for - Thanks to Werner Fink, Reinhard Nissl, Sascha Volkenandt and Bjørnar Nilsen for
their support in testing and fine tuning this version. 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 * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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 #ifndef __CONFIG_H
@ -20,8 +20,8 @@
#include "i18n.h" #include "i18n.h"
#include "tools.h" #include "tools.h"
#define VDRVERSION "1.3.18" #define VDRVERSION "1.3.19"
#define VDRVERSNUM 10318 // Version * 10000 + Major * 100 + Minor #define VDRVERSNUM 10319 // Version * 10000 + Major * 100 + Minor
#define MAXPRIORITY 99 #define MAXPRIORITY 99
#define MAXLIFETIME 99 #define MAXLIFETIME 99

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "skins.h"
@ -130,6 +130,7 @@ cSkin::cSkin(const char *Name, cTheme *Theme)
if (theme) if (theme)
cThemes::Save(name, theme); cThemes::Save(name, theme);
Skins.Add(this); Skins.Add(this);
Skins.SetCurrent(Name);
} }
cSkin::~cSkin() cSkin::~cSkin()
@ -172,6 +173,8 @@ eKeys cSkins::Message(eMessageType Type, const char *s, int Seconds)
case mtError: esyslog("ERROR: %s", s); break; case mtError: esyslog("ERROR: %s", s); break;
default: ; default: ;
} }
if (!Current())
return kNone;
if (!cSkinDisplay::Current() && !displayMessage) if (!cSkinDisplay::Current() && !displayMessage)
displayMessage = Current()->DisplayMessage(); displayMessage = Current()->DisplayMessage();
cSkinDisplay::Current()->SetMessage(Type, s); 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 * 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> #include <getopt.h>
@ -460,15 +460,20 @@ int main(int argc, char *argv[])
Interface = new cInterface(SVDRPport); 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: // Start plugins:
if (!PluginManager.StartPlugins()) if (!PluginManager.StartPlugins())
EXIT(2); EXIT(2);
// Skins: // Set skin and theme in case they're implemented by a plugin:
new cSkinClassic;
new cSkinSTTNG;
Skins.SetCurrent(Setup.OSDSkin); Skins.SetCurrent(Setup.OSDSkin);
cThemes::Load(Skins.Current()->Name(), Setup.OSDTheme, Skins.Current()->Theme()); cThemes::Load(Skins.Current()->Name(), Setup.OSDTheme, Skins.Current()->Theme());