From 698ab54e7ce284463e77aaf7162d71d95861c6c9 Mon Sep 17 00:00:00 2001 From: auria Date: Tue, 17 May 2011 00:55:13 +0000 Subject: [PATCH] revert to default is currently selected skin is not found (if someday we decide to remove 'glass', for instance ;) git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@8616 178a84e3-b1eb-0310-8ba1-8eac791a3b58 --- src/guiengine/skin.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/guiengine/skin.cpp b/src/guiengine/skin.cpp index df8012ab7..3c62a6b63 100644 --- a/src/guiengine/skin.cpp +++ b/src/guiengine/skin.cpp @@ -274,7 +274,21 @@ Skin::Skin(IGUISkin* fallback_skin) skin_name += "/skins/"; skin_name += UserConfigParams::m_skin_file.c_str(); - SkinConfig::loadFromFile( skin_name ); + try + { + SkinConfig::loadFromFile( skin_name ); + } + catch (std::runtime_error& e) + { + // couldn't load skin. Try to revert to default + UserConfigParams::m_skin_file.revertToDefaults(); + + skin_name = file_manager->getGUIDir(); + skin_name += "/skins/"; + skin_name += UserConfigParams::m_skin_file.c_str(); + SkinConfig::loadFromFile( skin_name ); + } + bg_image = NULL; m_fallback_skin = fallback_skin;