]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/app.cpp
fix PangoFontMetrics leak in GetCharHeight() (bug 1691180)
[wxWidgets.git] / src / gtk / app.cpp
index 2c9bb645f18c474c142dba282faf354428bd082c..fa47355e8fae1c4257dfa1bdbc17c9a1b60a1dee 100644 (file)
@@ -403,7 +403,8 @@ GdkVisual *wxApp::GetGdkVisual()
 
 bool wxApp::Initialize(int& argc, wxChar **argv)
 {
-    bool init_result;
+    if ( !wxAppBase::Initialize(argc, argv) )
+        return false;
 
 #if wxUSE_THREADS
     if (!g_thread_supported())
@@ -413,8 +414,6 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
     g_main_context_set_poll_func(NULL, wxapp_poll_func);
 #endif // wxUSE_THREADS
 
-    gtk_set_locale();
-
     // We should have the wxUSE_WCHAR_T test on the _outside_
 #if wxUSE_WCHAR_T
     // gtk+ 2.0 supports Unicode through UTF-8 strings
@@ -447,10 +446,19 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
 #else
     if (encName.empty())
         encName = _T("UTF-8");
+
+    // if wxUSE_INTL==0 it probably indicates that only "C" locale is supported
+    // by the program anyhow so prevent GTK+ from calling setlocale(LC_ALL, "")
+    // from gtk_init_check() as it does by default
+    gtk_disable_setlocale();
+
 #endif // wxUSE_INTL
     static wxConvBrokenFileNames fileconv(encName);
     wxConvFileName = &fileconv;
 
+
+    bool init_result;
+
 #if wxUSE_UNICODE
     // gtk_init() wants UTF-8, not wchar_t, so convert
     int i;
@@ -507,13 +515,6 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
     // we can not enter threads before gtk_init is done
     gdk_threads_enter();
 
-    if ( !wxAppBase::Initialize(argc, argv) )
-    {
-        gdk_threads_leave();
-
-        return false;
-    }
-
     wxSetDetectableAutoRepeat( true );
 
 #if wxUSE_INTL