]> git.saurik.com Git - wxWidgets.git/commitdiff
revert last, GUI mutex isn't GUI-only
authorPaul Cornett <paulcor@bullseye.com>
Thu, 18 Jan 2007 21:56:51 +0000 (21:56 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Thu, 18 Jan 2007 21:56:51 +0000 (21:56 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/app.cpp

index 97438c257546de2bccbfad95482fd51f73049337..1aee54439b1919e3b9e1f4272927e70d0b3aaada 100644 (file)
@@ -247,12 +247,18 @@ static GPollFunc wxgs_poll_func;
 extern "C" {
 static gint wxapp_poll_func( GPollFD *ufds, guint nfds, gint timeout )
 {
+    gdk_threads_enter();
+
+    wxMutexGuiLeave();
     g_mainThreadLocked = true;
 
     gint res = (*wxgs_poll_func)(ufds, nfds, timeout);
 
+    wxMutexGuiEnter();
     g_mainThreadLocked = false;
 
+    gdk_threads_leave();
+
     return res;
 }
 }
@@ -402,7 +408,6 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
 #if wxUSE_THREADS
     if (!g_thread_supported())
         g_thread_init(NULL);
-    gdk_threads_init();
 
     wxgs_poll_func = g_main_context_get_poll_func(NULL);
     g_main_context_set_poll_func(NULL, wxapp_poll_func);
@@ -557,15 +562,3 @@ void wxApp::SuspendIdleCallback()
         wxAddEmissionHook();
     }
 }
-
-#if wxUSE_THREADS
-void wxMutexGuiEnter()
-{
-    gdk_threads_enter();
-}
-
-void wxMutexGuiLeave()
-{
-    gdk_threads_leave();
-}
-#endif