diff options
-rw-r--r-- | mail/e-mail-display.c | 9 | ||||
-rw-r--r-- | widgets/misc/e-web-view.c | 6 |
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; } |