aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shortcuts.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-09-05 07:12:51 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-09-05 07:12:51 +0800
commite68545150a45e7a1eeaacc1b05cb951aeb1bf3c0 (patch)
treeed7f0a152f4fc718b109ffa3cdb249b74a3fe3ab /shell/e-shortcuts.c
parent4a0b4b24d0fa8fcb79500a4125fbfcaea9d69e0c (diff)
downloadgsoc2013-evolution-e68545150a45e7a1eeaacc1b05cb951aeb1bf3c0.tar.gz
gsoc2013-evolution-e68545150a45e7a1eeaacc1b05cb951aeb1bf3c0.tar.zst
gsoc2013-evolution-e68545150a45e7a1eeaacc1b05cb951aeb1bf3c0.zip
[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
Diffstat (limited to 'shell/e-shortcuts.c')
-rw-r--r--shell/e-shortcuts.c10
1 files changed, 6 insertions, 4 deletions
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;