diff options
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/dialogs/event-editor.c | 28 | ||||
-rw-r--r-- | calendar/gui/dialogs/task-editor.c | 22 |
2 files changed, 41 insertions, 9 deletions
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); |