From 1a3bdefb00dd9a79e370fedeed7232a66771fc65 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 1 Nov 2014 14:44:03 -0400 Subject: [PATCH] Fix an ordering issue in event destruction gdk_event_get_display accesses event->any.window, so don't free that window first thing. --- gdk/gdkevents.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 89cc5a28d8..3d8d7bc290 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -740,9 +740,6 @@ gdk_event_free (GdkEvent *event) g_return_if_fail (event != NULL); - if (event->any.window) - g_object_unref (event->any.window); - switch (event->any.type) { case GDK_KEY_PRESS: @@ -814,6 +811,9 @@ gdk_event_free (GdkEvent *event) if (display) _gdk_display_event_data_free (display, event); + if (event->any.window) + g_object_unref (event->any.window); + g_hash_table_remove (event_hash, event); g_slice_free (GdkEventPrivate, (GdkEventPrivate*) event); }