From e68545150a45e7a1eeaacc1b05cb951aeb1bf3c0 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Tue, 4 Sep 2001 23:12:51 +0000 Subject: [Fix ^#7675, Crashes trying to empty trash folder.] * e-shortcuts.c (e_shortcuts_construct): Use `gtk_signal_connect_while_alive()' so we don't invoke the callbacks on dead EShortcuts objects. svn path=/trunk/; revision=12612 --- shell/ChangeLog | 10 +++++++++- shell/e-shortcuts.c | 10 ++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index 38cda220cc..f055c15da3 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,6 +1,14 @@ +2001-09-04 Ettore Perazzoli + + [Fix ^#7675, Crashes trying to empty trash folder.] + + * e-shortcuts.c (e_shortcuts_construct): Use + `gtk_signal_connect_while_alive()' so we don't invoke the + callbacks on dead EShortcuts objects. + 2001-09-04 Iain Holmes - * e-shell-importer.c (start_importer): Report errors in a dialog + * e-shell-importer.c (start_importer): Report errors in a dialog. 2001-09-04 Ettore Perazzoli diff --git a/shell/e-shortcuts.c b/shell/e-shortcuts.c index 1f8f47b5a8..9098fded60 100644 --- a/shell/e-shortcuts.c +++ b/shell/e-shortcuts.c @@ -756,10 +756,12 @@ e_shortcuts_construct (EShortcuts *shortcuts, gtk_object_ref (GTK_OBJECT (storage_set)); priv->storage_set = storage_set; - gtk_signal_connect (GTK_OBJECT (storage_set), "new_folder", - GTK_SIGNAL_FUNC (storage_set_new_folder_callback), shortcuts); - gtk_signal_connect (GTK_OBJECT (storage_set), "updated_folder", - GTK_SIGNAL_FUNC (storage_set_updated_folder_callback), shortcuts); + gtk_signal_connect_while_alive (GTK_OBJECT (storage_set), "new_folder", + GTK_SIGNAL_FUNC (storage_set_new_folder_callback), + shortcuts, GTK_OBJECT (shortcuts)); + gtk_signal_connect_while_alive (GTK_OBJECT (storage_set), "updated_folder", + GTK_SIGNAL_FUNC (storage_set_updated_folder_callback), + shortcuts, GTK_OBJECT (shortcuts)); gtk_object_ref (GTK_OBJECT (folder_type_registry)); priv->folder_type_registry = folder_type_registry; -- cgit