diff options
-rw-r--r-- | calendar/ChangeLog | 5 | ||||
-rw-r--r-- | calendar/gui/dialogs/comp-editor.c | 10 |
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; |