diff --git a/gdk/broadway/gdkeventsource.c b/gdk/broadway/gdkeventsource.c index e9aa2c86b3..a4399c431e 100644 --- a/gdk/broadway/gdkeventsource.c +++ b/gdk/broadway/gdkeventsource.c @@ -61,7 +61,11 @@ gdk_event_source_prepare (GSource *source, gdk_threads_enter (); *timeout = -1; - retval = (_gdk_event_queue_find_first (display) != NULL); + + if (display->event_pause_count > 0) + retval = FALSE; + else + retval = (_gdk_event_queue_find_first (display) != NULL); gdk_threads_leave (); @@ -76,7 +80,9 @@ gdk_event_source_check (GSource *source) gdk_threads_enter (); - if (event_source->event_poll_fd.revents & G_IO_IN) + if (event_source->display->event_pause_count > 0) + retval = FALSE; + else if (event_source->event_poll_fd.revents & G_IO_IN) retval = (_gdk_event_queue_find_first (event_source->display) != NULL); else retval = FALSE; diff --git a/gdk/quartz/gdkeventloop-quartz.c b/gdk/quartz/gdkeventloop-quartz.c index 479cd72a7e..6691744f2c 100644 --- a/gdk/quartz/gdkeventloop-quartz.c +++ b/gdk/quartz/gdkeventloop-quartz.c @@ -620,8 +620,11 @@ gdk_event_prepare (GSource *source, *timeout = -1; - retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || - _gdk_quartz_event_loop_check_pending ()); + if (display->event_pause_count > 0) + retval = FALSE; + else + retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || + _gdk_quartz_event_loop_check_pending ()); gdk_threads_leave (); @@ -635,8 +638,11 @@ gdk_event_check (GSource *source) gdk_threads_enter (); - retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || - _gdk_quartz_event_loop_check_pending ()); + if (display->event_pause_count > 0) + retval = FALSE; + else + retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || + _gdk_quartz_event_loop_check_pending ()); gdk_threads_leave (); diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 962daf2d09..7866f31771 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -3330,9 +3330,12 @@ gdk_event_prepare (GSource *source, *timeout = -1; - retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || - (modal_win32_dialog == NULL && - GetQueueStatus (QS_ALLINPUT) != 0)); + if (display->event_pause_count > 0) + retval = FALSE; + else + retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || + (modal_win32_dialog == NULL && + GetQueueStatus (QS_ALLINPUT) != 0)); gdk_threads_leave (); @@ -3346,16 +3349,14 @@ gdk_event_check (GSource *source) gdk_threads_enter (); - if (event_poll_fd.revents & G_IO_IN) - { - retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || - (modal_win32_dialog == NULL && - GetQueueStatus (QS_ALLINPUT) != 0)); - } + if (display->event_pause_count > 0) + retval = FALSE; + else if (event_poll_fd.revents & G_IO_IN) + retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || + (modal_win32_dialog == NULL && + GetQueueStatus (QS_ALLINPUT) != 0)); else - { - retval = FALSE; - } + retval = FALSE; gdk_threads_leave ();