From 9adfc8e2c4c17478d3bfdbedb80846209c7b82aa Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 21 Mar 2014 15:31:40 +0100 Subject: [PATCH] window: Unset source ID before possibly destroying the widget If the delete event ends up destroying the widget, unsetting priv->delete_event_handler will happen on invalid memory, so unset it before the widget is possibly destroyed. https://bugzilla.gnome.org/show_bug.cgi?id=726825 --- gtk/gtkwindow.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index d48ecbaa2d..3dc11728e3 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1303,12 +1303,11 @@ send_delete_event (gpointer data) event->any.window = g_object_ref (gtk_widget_get_window (window)); event->any.send_event = TRUE; + priv->delete_event_handler = 0; gtk_main_do_event (event); gdk_event_free (event); - priv->delete_event_handler = 0; - return G_SOURCE_REMOVE; }