revert last, GUI mutex isn't GUI-only
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
65d7319f85
commit
49f29fbe2c
@ -247,12 +247,18 @@ static GPollFunc wxgs_poll_func;
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
static gint wxapp_poll_func( GPollFD *ufds, guint nfds, gint timeout )
|
static gint wxapp_poll_func( GPollFD *ufds, guint nfds, gint timeout )
|
||||||
{
|
{
|
||||||
|
gdk_threads_enter();
|
||||||
|
|
||||||
|
wxMutexGuiLeave();
|
||||||
g_mainThreadLocked = true;
|
g_mainThreadLocked = true;
|
||||||
|
|
||||||
gint res = (*wxgs_poll_func)(ufds, nfds, timeout);
|
gint res = (*wxgs_poll_func)(ufds, nfds, timeout);
|
||||||
|
|
||||||
|
wxMutexGuiEnter();
|
||||||
g_mainThreadLocked = false;
|
g_mainThreadLocked = false;
|
||||||
|
|
||||||
|
gdk_threads_leave();
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -402,7 +408,6 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
|
|||||||
#if wxUSE_THREADS
|
#if wxUSE_THREADS
|
||||||
if (!g_thread_supported())
|
if (!g_thread_supported())
|
||||||
g_thread_init(NULL);
|
g_thread_init(NULL);
|
||||||
gdk_threads_init();
|
|
||||||
|
|
||||||
wxgs_poll_func = g_main_context_get_poll_func(NULL);
|
wxgs_poll_func = g_main_context_get_poll_func(NULL);
|
||||||
g_main_context_set_poll_func(NULL, wxapp_poll_func);
|
g_main_context_set_poll_func(NULL, wxapp_poll_func);
|
||||||
@ -557,15 +562,3 @@ void wxApp::SuspendIdleCallback()
|
|||||||
wxAddEmissionHook();
|
wxAddEmissionHook();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_THREADS
|
|
||||||
void wxMutexGuiEnter()
|
|
||||||
{
|
|
||||||
gdk_threads_enter();
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxMutexGuiLeave()
|
|
||||||
{
|
|
||||||
gdk_threads_leave();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
Loading…
Reference in New Issue
Block a user