(trunk gtk_) #3837 "Dangling pointer after quit cancel" -- fixed.

This commit is contained in:
Charles Kerr 2010-12-19 09:50:28 +00:00
parent 5bf05ab31b
commit 3a6cf6afc9
1 changed files with 4 additions and 2 deletions

View File

@ -88,7 +88,7 @@ struct cbdata
GSList * dupqueue; GSList * dupqueue;
GSList * details; GSList * details;
GtkTreeSelection * sel; GtkTreeSelection * sel;
GtkWidget * quit_dialog; gpointer quit_dialog;
}; };
/** /**
@ -974,8 +974,10 @@ maybeaskquit( struct cbdata * cbdata )
if( !shouldConfirmBeforeExiting( cbdata ) ) if( !shouldConfirmBeforeExiting( cbdata ) )
wannaquit( cbdata ); wannaquit( cbdata );
else { else {
if( cbdata->quit_dialog == NULL ) if( cbdata->quit_dialog == NULL ) {
cbdata->quit_dialog = askquit( cbdata->core, cbdata->wind, wannaquit, cbdata ); 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 ) ); gtk_window_present( GTK_WINDOW( cbdata->quit_dialog ) );
} }
} }