]> Pileus Git - ~andy/gtk/blobdiff - gdk/x11/gdkeventsource.c
gdk_display_get_event: don't unqueue events from the windowing system when paused
[~andy/gtk] / gdk / x11 / gdkeventsource.c
index 6b82611bfccbb539e9b3e304c4d1b74590e4a07d..4b1a5469459e78868e9a2a39ef5fcf3098309a07 100644 (file)
@@ -276,8 +276,12 @@ gdk_event_source_prepare (GSource *source,
   gdk_threads_enter ();
 
   *timeout = -1;
-  retval = (_gdk_event_queue_find_first (display) != NULL ||
-            gdk_check_xpending (display));
+
+  if (display->event_pause_count > 0)
+    retval = FALSE;
+  else
+    retval = (_gdk_event_queue_find_first (display) != NULL ||
+              gdk_check_xpending (display));
 
   gdk_threads_leave ();
 
@@ -292,7 +296,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 ||
               gdk_check_xpending (event_source->display));
   else