GdkDisplay: handle multiple calls to _gdk_display_pause_events()

Since events can be paused independently for each window during processing,
make _gdk_display_pause_events() count how many times it is called
and only unpause when unpause_events() is called the same number of
times.

https://bugzilla.gnome.org/show_bug.cgi?id=685460
This commit is contained in:
Owen W. Taylor
2012-10-07 14:13:56 -04:00
parent d446dda920
commit e4aa9f05ae
4 changed files with 18 additions and 10 deletions

View File

@ -88,7 +88,7 @@ _gdk_event_queue_find_first (GdkDisplay *display)
GList *tmp_list;
GList *pending_motion = NULL;
if (display->events_paused)
if (display->event_pause_count > 0)
return NULL;
tmp_list = display->queued_events;