From f867fb4644ed8b90b5dc64b04782ccced3824c91 Mon Sep 17 00:00:00 2001 From: Chenthill Palanisamy Date: Mon, 21 Mar 2005 15:34:37 +0000 Subject: Fixes #73031 2005-03-21 Chenthill Palanisamy Fixes #73031 * gui/dialogs/event-editor.c: (event_editor_finalize): * gui/dialogs/task-editor.c: (task_editor_finalize): Added a check for the presence of the object before unreffing it. svn path=/trunk/; revision=29076 --- calendar/ChangeLog | 7 +++++++ calendar/gui/dialogs/event-editor.c | 28 +++++++++++++++++++++++----- calendar/gui/dialogs/task-editor.c | 22 ++++++++++++++++++---- 3 files changed, 48 insertions(+), 9 deletions(-) diff --git a/calendar/ChangeLog b/calendar/ChangeLog index fad3b52e9e..27c26ad21e 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,10 @@ +2005-03-21 Chenthill Palanisamy + + Fixes #73031 + * gui/dialogs/event-editor.c: (event_editor_finalize): + * gui/dialogs/task-editor.c: (task_editor_finalize): Added + a check for the presence of the object before unreffing it. + 2005-03-21 JP Rosevear * gui/gnome-cal.c (default_client_cal_opened_cb): if its busy, try diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c index 785fe5c357..5f46bb1222 100644 --- a/calendar/gui/dialogs/event-editor.c +++ b/calendar/gui/dialogs/event-editor.c @@ -332,12 +332,30 @@ event_editor_finalize (GObject *object) ee = EVENT_EDITOR (object); priv = ee->priv; - g_object_unref (priv->event_page); - g_object_unref (priv->recur_page); - g_object_unref (priv->meet_page); - g_object_unref (priv->sched_page); + if (priv->event_page) { + g_object_unref (priv->event_page); + priv->event_page = NULL; + } + + if (priv->recur_page) { + g_object_unref (priv->recur_page); + priv->recur_page = NULL; + } + + if (priv->meet_page) { + g_object_unref (priv->meet_page); + priv->meet_page = NULL; + } + + if (priv->sched_page) { + g_object_unref (priv->sched_page); + priv->sched_page = NULL; + } - g_object_unref (priv->model); + if (priv->model) { + g_object_unref (priv->model); + priv->model = NULL; + } g_free (priv); diff --git a/calendar/gui/dialogs/task-editor.c b/calendar/gui/dialogs/task-editor.c index 8cc4cb0113..b28814f18e 100644 --- a/calendar/gui/dialogs/task-editor.c +++ b/calendar/gui/dialogs/task-editor.c @@ -315,11 +315,25 @@ task_editor_finalize (GObject *object) te = TASK_EDITOR (object); priv = te->priv; - g_object_unref (priv->task_page); - g_object_unref (priv->task_details_page); - g_object_unref (priv->meet_page); + if (priv->task_page) { + g_object_unref (priv->task_page); + priv->task_page = NULL; + } + + if (priv->task_details_page) { + g_object_unref (priv->task_details_page); + priv->task_details_page = NULL; + } - g_object_unref (priv->model); + if (priv->meet_page) { + g_object_unref (priv->meet_page); + priv->meet_page = NULL; + } + + if (priv->model) { + g_object_unref (priv->model); + priv->model = NULL; + } g_free (priv); -- cgit v1.2.3