X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c8db4e1560d3118540b6c2c6cda367dfb33dff51..34a0dc614e3011fd0e88fb3c57a1f6d107596cfc:/src/gtk/app.cpp diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp index 780924b4eb..fa47355e8f 100644 --- a/src/gtk/app.cpp +++ b/src/gtk/app.cpp @@ -209,7 +209,7 @@ static gint wxapp_idle_callback( gpointer WXUNUSED(data) ) // Release lock again gdk_threads_leave(); - + { // If another idle source was added, remove it #if wxUSE_THREADS @@ -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