diff options
author | Milan Crha <mcrha@redhat.com> | 2010-12-21 20:09:27 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:41:13 +0800 |
commit | ea35907c16e6dae0a992306cd00cb02a472caa1f (patch) | |
tree | dcbcd5fd3aa1a3d7b20add674001c67f5150f25f | |
parent | ff3997a2880dd28a3b2df6c67337434bc10c5da0 (diff) | |
download | gsoc2013-evolution-ea35907c16e6dae0a992306cd00cb02a472caa1f.tar.gz gsoc2013-evolution-ea35907c16e6dae0a992306cd00cb02a472caa1f.tar.zst gsoc2013-evolution-ea35907c16e6dae0a992306cd00cb02a472caa1f.zip |
Disconnect signal handlers from actions in alert_dispose()
-rw-r--r-- | e-util/e-alert.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/e-util/e-alert.c b/e-util/e-alert.c index 9d55c40ddf..f99ca51c57 100644 --- a/e-util/e-alert.c +++ b/e-util/e-alert.c @@ -493,8 +493,13 @@ alert_dispose (GObject *object) priv = E_ALERT_GET_PRIVATE (object); - while (!g_queue_is_empty (&priv->actions)) - g_object_unref (g_queue_pop_head (&priv->actions)); + while (!g_queue_is_empty (&priv->actions)) { + GtkAction *action = g_queue_pop_head (&priv->actions); + + g_signal_handlers_disconnect_by_func (action, G_CALLBACK (alert_action_activate), object); + + g_object_unref (action); + } /* Chain up to parent's dispose() method. */ G_OBJECT_CLASS (e_alert_parent_class)->dispose (object); |