[vlc-commits] Skins2: blind attempt to fix a ThemeRepository crash

Jean-Baptiste Kempf git at videolan.org
Thu Aug 30 22:03:02 CEST 2012


vlc/vlc-2.0 | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Thu Aug 30 21:48:37 2012 +0200| [e60b9b8f9e8e991617eba0e391a49e0e22f51215] | committer: Jean-Baptiste Kempf

Skins2: blind attempt to fix a ThemeRepository crash

Top crash on Skins2 module on Win32
(cherry picked from commit 9e76fdbc6e1e1243c59126688f23141329f10461)

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.0.git/?a=commit;h=e60b9b8f9e8e991617eba0e391a49e0e22f51215
---

 modules/gui/skins2/src/theme_repository.cpp |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/gui/skins2/src/theme_repository.cpp b/modules/gui/skins2/src/theme_repository.cpp
index 68e7dae..51cf89f 100644
--- a/modules/gui/skins2/src/theme_repository.cpp
+++ b/modules/gui/skins2/src/theme_repository.cpp
@@ -73,6 +73,7 @@ ThemeRepository::ThemeRepository( intf_thread_t *pIntf ): SkinObject( pIntf )
 
     // retrieve skins from skins directories and locate default skins
     map<string,string>::const_iterator itmap, itdefault;
+    bool b_default_found = false;
     for( itmap = m_skinsMap.begin(); itmap != m_skinsMap.end(); ++itmap )
     {
         string name = itmap->first;
@@ -83,7 +84,10 @@ ThemeRepository::ThemeRepository( intf_thread_t *pIntf ): SkinObject( pIntf )
                     &text );
 
         if( name == "Default" )
+        {
             itdefault = itmap;
+            b_default_found = true;
+        }
     }
 
     // retrieve last skins stored or skins requested by user
@@ -98,7 +102,7 @@ ThemeRepository::ThemeRepository( intf_thread_t *pIntf ): SkinObject( pIntf )
                          current.c_str(), b_readable ? "" : "NOT" );
 
     // set the default skins if given skins not accessible
-    if( !b_readable )
+    if( !b_readable && b_default_found )
         current = itdefault->second;
 
     // save this valid skins for reuse



More information about the vlc-commits mailing list