aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/e-mail-display.c9
-rw-r--r--widgets/misc/e-web-view.c6
2 files changed, 14 insertions, 1 deletions
diff --git a/mail/e-mail-display.c b/mail/e-mail-display.c
index 82934ea642..5e33ccd570 100644
--- a/mail/e-mail-display.c
+++ b/mail/e-mail-display.c
@@ -1313,8 +1313,15 @@ mail_display_dispose (GObject *object)
priv->widgets = NULL;
}
+ if (priv->settings != NULL) {
+ g_signal_handlers_disconnect_matched (
+ priv->settings, G_SIGNAL_MATCH_DATA,
+ 0, 0, NULL, NULL, object);
+ g_object_unref (priv->settings);
+ priv->settings = NULL;
+ }
+
g_clear_object (&priv->part_list);
- g_clear_object (&priv->settings);
g_clear_object (&priv->formatter);
/* Chain up to parent's dispose() method. */
diff --git a/widgets/misc/e-web-view.c b/widgets/misc/e-web-view.c
index e1fb5c54a6..84c473dc37 100644
--- a/widgets/misc/e-web-view.c
+++ b/widgets/misc/e-web-view.c
@@ -803,11 +803,17 @@ web_view_dispose (GObject *object)
}
if (priv->aliasing_settings != NULL) {
+ g_signal_handlers_disconnect_matched (
+ priv->aliasing_settings, G_SIGNAL_MATCH_DATA,
+ 0, 0, NULL, NULL, object);
g_object_unref (priv->aliasing_settings);
priv->aliasing_settings = NULL;
}
if (priv->font_settings != NULL) {
+ g_signal_handlers_disconnect_matched (
+ priv->font_settings, G_SIGNAL_MATCH_DATA,
+ 0, 0, NULL, NULL, object);
g_object_unref (priv->font_settings);
priv->font_settings = NULL;
}