]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkdisplay.c
x11: Remove XSettingsAction type
[~andy/gtk] / gdk / gdkdisplay.c
index 8e5092c4d9d587b64d3f708fb3b18fac2ad97d02..79d162b2a9df6261ac18b4612e2b8904ab82646a 100644 (file)
@@ -307,12 +307,12 @@ gdk_display_get_event (GdkDisplay *display)
 {
   g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
 
+  if (display->event_pause_count > 0)
+    return NULL;
+
   GDK_DISPLAY_GET_CLASS (display)->queue_events (display);
 
-  if (display->events_paused)
-    return NULL;
-  else
-    return _gdk_event_unqueue (display);
+  return _gdk_event_unqueue (display);
 }
 
 /**
@@ -2008,10 +2008,17 @@ gdk_display_notify_startup_complete (GdkDisplay  *display,
 }
 
 void
-_gdk_display_set_events_paused (GdkDisplay       *display,
-                                gboolean          events_paused)
+_gdk_display_pause_events (GdkDisplay *display)
 {
-  display->events_paused = !!events_paused;
+  display->event_pause_count++;
+}
+
+void
+_gdk_display_unpause_events (GdkDisplay *display)
+{
+  g_return_if_fail (display->event_pause_count > 0);
+
+  display->event_pause_count--;
 }
 
 void