From 3a6cf6afc9cdc7b143799043f45d36ff9dd64066 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Sun, 19 Dec 2010 09:50:28 +0000 Subject: [PATCH] (trunk gtk_) #3837 "Dangling pointer after quit cancel" -- fixed. --- gtk/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gtk/main.c b/gtk/main.c index a2d9b2677..84118de2b 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -88,7 +88,7 @@ struct cbdata GSList * dupqueue; GSList * details; GtkTreeSelection * sel; - GtkWidget * quit_dialog; + gpointer quit_dialog; }; /** @@ -974,8 +974,10 @@ maybeaskquit( struct cbdata * cbdata ) if( !shouldConfirmBeforeExiting( cbdata ) ) wannaquit( cbdata ); else { - if( cbdata->quit_dialog == NULL ) + if( cbdata->quit_dialog == NULL ) { cbdata->quit_dialog = askquit( cbdata->core, cbdata->wind, wannaquit, cbdata ); + g_object_add_weak_pointer( G_OBJECT( cbdata->quit_dialog ), &cbdata->quit_dialog ); + } gtk_window_present( GTK_WINDOW( cbdata->quit_dialog ) ); } }