GNOME Bugzilla – Bug 550989
gdk_display_put_event() should call g_main_context_wakeup()
Last modified: 2008-09-07 00:43:26 UTC
If GDK threading is initialized and you call gdk_display_put_event() from another thread, it won't wake up the main loop in the main thread to deliver the event. Pseudo-patch: void gdk_display_put_event (GdkDisplay *display, const GdkEvent *event) { g_return_if_fail (GDK_IS_DISPLAY (display)); g_return_if_fail (event != NULL); _gdk_event_queue_append (display, gdk_event_copy (event)); + /* If the main loop is blocking in a different thread, wake it up */ + g_main_context_wakeup (NULL); }
2008-09-06 Matthias Clasen <mclasen@redhat.com> Bug 550989 – gdk_display_put_event() should call g_main_context_wakeup() * gdk/gdkdisplay.c (gdk_display_put_event): Wake up the main loop after queueing the event. Patch by Owen Taylor