]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/intl.cpp
fixed crash when setting locale failed (replaces patch 1093811)
[wxWidgets.git] / src / common / intl.cpp
index 2609e2c55ac8e637c7290db60bfe675f7c060784..f0512af3cc59702465f61366e383d402175f4fc9 100644 (file)
@@ -1402,6 +1402,7 @@ wxLanguageInfoArray *wxLocale::ms_languagesDB = NULL;
 void wxLocale::DoCommonInit()
 {
   m_pszOldLocale = NULL;
 void wxLocale::DoCommonInit()
 {
   m_pszOldLocale = NULL;
+  m_pOldLocale = NULL;
   m_pMsgCat = NULL;
   m_language = wxLANGUAGE_UNKNOWN;
   m_initialized = false;
   m_pMsgCat = NULL;
   m_language = wxLANGUAGE_UNKNOWN;
   m_initialized = false;
@@ -2448,8 +2449,10 @@ wxLocale::~wxLocale()
         delete pTmpCat;
     }
 
         delete pTmpCat;
     }
 
-    // restore old locale
-    wxSetLocale(m_pOldLocale);
+    // restore old locale if we had changed it
+    if ( m_pOldLocale )
+        wxSetLocale(m_pOldLocale);
+
     // FIXME
 #ifndef __WXWINCE__
     wxSetlocale(LC_ALL, m_pszOldLocale);
     // FIXME
 #ifndef __WXWINCE__
     wxSetlocale(LC_ALL, m_pszOldLocale);