bool wxApp::Initialize(int& argc, wxChar **argv)
{
- bool init_result;
+ if ( !wxAppBase::Initialize(argc, argv) )
+ return false;
#if wxUSE_THREADS
if (!g_thread_supported())
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
#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;
// 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