diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 904f68c5..acdf227c 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1200,3 +1200,7 @@ Laurence Abbott Patrick Gleichmann for fixing the default quality value when grabbing a JPEG image + +Achim Tuffentsammer + for reporting a crash in case a plugin needs to issue an error message before the + skin has been set up diff --git a/HISTORY b/HISTORY index 5f6a174b..47fcc381 100644 --- a/HISTORY +++ b/HISTORY @@ -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(). diff --git a/config.h b/config.h index d6759ccc..5dacc6fb 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.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 diff --git a/skins.c b/skins.c index 5770bd4c..fb21ed38 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.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); diff --git a/vdr.c b/vdr.c index 5c823724..2089d961 100644 --- a/vdr.c +++ b/vdr.c @@ -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 @@ -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());