aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog5
-rw-r--r--calendar/gui/dialogs/comp-editor.c10
2 files changed, 13 insertions, 2 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index ef9f894152..d940bb8bb3 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,5 +1,10 @@
2003-05-15 JP Rosevear <jpr@ximian.com>
+ * gui/dialogs/comp-editor.c (comp_editor_finalize): unref the
+ client and the ui component
+
+2003-05-15 JP Rosevear <jpr@ximian.com>
+
Fixes #41935
* gui/e-week-view.c (e_week_view_init): listen for scroll events
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 70ad1abe8f..7a462c9a1f 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -262,8 +262,12 @@ comp_editor_finalize (GObject *object)
editor = COMP_EDITOR (object);
priv = editor->priv;
- g_signal_handlers_disconnect_matched (priv->client, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, editor);
-
+ if (priv->client) {
+ g_signal_handlers_disconnect_matched (priv->client, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, editor);
+ g_object_unref (priv->client);
+ priv->client = NULL;
+ }
+
/* We want to destroy the pages after the widgets get destroyed,
since they have lots of signal handlers connected to the widgets
with the pages as the data. */
@@ -275,6 +279,8 @@ comp_editor_finalize (GObject *object)
priv->comp = NULL;
}
+ bonobo_object_unref (priv->uic);
+
g_free (priv);
editor->priv = NULL;