]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/app.cpp
fix m_Matches overflow if Compile() is called more than once (bug 742236)
[wxWidgets.git] / src / gtk1 / app.cpp
index 0d8189fd7c5a19e7aab7a692971123f2a06d3125..1bf855421b6b23cfeb3d90ea707a3168b2fadaa3 100644 (file)
@@ -366,7 +366,10 @@ static gint wxapp_poll_func( GPollFD *ufds, guint nfds, gint timeout )
 
 void wxapp_install_idle_handler()
 {
-    wxASSERT_MSG( wxThread::IsMain() || gs_WakeUpIdle, wxT("attempt to install idle handler from widget callback in child thread (should be exclusively from wxWakeUpIdle)") );
+    // GD: this assert is raised when using the thread sample (which works)
+    //     so the test is probably not so easy. Can widget callbacks be
+    //     triggered from child threads and, if so, for which widgets?
+    // wxASSERT_MSG( wxThread::IsMain() || gs_WakeUpIdle, wxT("attempt to install idle handler from widget callback in child thread (should be exclusively from wxWakeUpIdle)") );
 
     wxASSERT_MSG( wxTheApp->m_idleTag == 0, wxT("attempt to install idle handler twice") );
 
@@ -800,10 +803,11 @@ int wxEntryStart( int& argc, char *argv[] )
     if (!wxOKlibc()) wxConvCurrent = (wxMBConv*) NULL;
 #endif
 
-    gdk_threads_enter();
-
     gtk_init( &argc, &argv );
 
+    /* we can not enter threads before gtk_init is done */
+    gdk_threads_enter();
+
     wxSetDetectableAutoRepeat( TRUE );
 
     if (!wxApp::Initialize())