Commit c5ed5c5f authored by Matthias Clasen's avatar Matthias Clasen
Browse files

gdk: Deliver queued events on flush

The current code was marking queued events as flushed,
but left them in the queue. That doesn't make sense to
me - we should deliver all events we have before we
reach the paint phase of the frame cycle.
parent 6b53a55d
Pipeline #223783 passed with stages
in 15 minutes and 35 seconds
...@@ -814,12 +814,17 @@ _gdk_event_queue_handle_motion_compression (GdkDisplay *display) ...@@ -814,12 +814,17 @@ _gdk_event_queue_handle_motion_compression (GdkDisplay *display)
void void
_gdk_event_queue_flush (GdkDisplay *display) _gdk_event_queue_flush (GdkDisplay *display)
{ {
GList *tmp_list; while (TRUE)
for (tmp_list = display->queued_events.head; tmp_list; tmp_list = tmp_list->next)
{ {
GdkEvent *event = tmp_list->data; GdkEvent *event;
event = (GdkEvent *)g_queue_pop_head (&display->queued_events);
if (!event)
return;
event->flags |= GDK_EVENT_FLUSHED; event->flags |= GDK_EVENT_FLUSHED;
_gdk_event_emit (event);
gdk_event_unref (event);
} }
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment