forked from AuroraMiddleware/gtk
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.
This commit is contained in:
parent
6b53a55dd7
commit
c5ed5c5ff9
@ -814,12 +814,17 @@ _gdk_event_queue_handle_motion_compression (GdkDisplay *display)
|
||||
void
|
||||
_gdk_event_queue_flush (GdkDisplay *display)
|
||||
{
|
||||
GList *tmp_list;
|
||||
|
||||
for (tmp_list = display->queued_events.head; tmp_list; tmp_list = tmp_list->next)
|
||||
while (TRUE)
|
||||
{
|
||||
GdkEvent *event = tmp_list->data;
|
||||
GdkEvent *event;
|
||||
|
||||
event = (GdkEvent *)g_queue_pop_head (&display->queued_events);
|
||||
if (!event)
|
||||
return;
|
||||
|
||||
event->flags |= GDK_EVENT_FLUSHED;
|
||||
_gdk_event_emit (event);
|
||||
gdk_event_unref (event);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user