aboutsummaryrefslogtreecommitdiffstats
path: root/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'calendar')
-rw-r--r--calendar/ChangeLog7
-rw-r--r--calendar/gui/dialogs/event-editor.c28
-rw-r--r--calendar/gui/dialogs/task-editor.c22
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 <pchenthill@novell.com>
+
+ 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 <jpr@novell.com>
* 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);