diff options
author | Milan Crha <mcrha@redhat.com> | 2010-12-21 20:09:27 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2010-12-21 20:09:27 +0800 |
commit | e605a2888b2e9a2d7aabd704941a669f26ad9e51 (patch) | |
tree | 0e185d32656988309c391050815f058655b6854b /e-util | |
parent | e628ec9c59a2cc5b2aecf72ef885b744cabd2537 (diff) | |
download | gsoc2013-evolution-e605a2888b2e9a2d7aabd704941a669f26ad9e51.tar.gz gsoc2013-evolution-e605a2888b2e9a2d7aabd704941a669f26ad9e51.tar.zst gsoc2013-evolution-e605a2888b2e9a2d7aabd704941a669f26ad9e51.zip |
Disconnect signal handlers from actions in alert_dispose()
Diffstat (limited to 'e-util')
-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); |