diff options
-rw-r--r-- | calendar/ChangeLog | 11 | ||||
-rw-r--r-- | calendar/gui/e-meeting-model.c | 2 | ||||
-rw-r--r-- | calendar/gui/e-meeting-time-sel.c | 8 |
3 files changed, 16 insertions, 5 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index abab644a57..f1311a75cf 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,14 @@ +2003-04-10 JP Rosevear <jpr@ximian.com> + + Fixes #41127 + + * gui/e-meeting-time-sel.c (e_meeting_time_selector_refresh_cb): + unref here, when the callback is done + (e_meeting_time_selector_refresh_free_busy): don't unref here + + * gui/e-meeting-model.c (process_free_busy): if the type is + unexpected, make sure we cleanup properly + 2003-04-10 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-notify/alarm-queue.c (remove_queued_alarm): only remove diff --git a/calendar/gui/e-meeting-model.c b/calendar/gui/e-meeting-model.c index 4c0dfaf2fc..c460d37b04 100644 --- a/calendar/gui/e-meeting-model.c +++ b/calendar/gui/e-meeting-model.c @@ -1307,8 +1307,6 @@ process_free_busy (EMeetingModelQueueData *qdata, char *text) icalcomponent_free (tz_top_level); } else if (kind == ICAL_VFREEBUSY_COMPONENT) { process_free_busy_comp (ia, main_comp, priv->zone, NULL); - } else { - return; } icalcomponent_free (main_comp); diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c index f472ed8028..a2f06acb4c 100644 --- a/calendar/gui/e-meeting-time-sel.c +++ b/calendar/gui/e-meeting-time-sel.c @@ -1227,6 +1227,8 @@ e_meeting_time_selector_refresh_cb (gpointer data) gtk_widget_queue_draw (mts->display_top); if (mts->display_main != NULL) gtk_widget_queue_draw (mts->display_main); + + gtk_object_unref (GTK_OBJECT (mts)); } static void @@ -1243,7 +1245,9 @@ e_meeting_time_selector_refresh_free_busy (EMeetingTimeSelector *mts, int row, g end.hour = 0; end.minute = 0; - /* Ref ourselves in case we are called back after destruction */ + /* Ref ourselves in case we are called back after destruction, + * we can do this because we will get a call back even after + * an error */ gtk_object_ref (GTK_OBJECT (mts)); if (all) @@ -1252,8 +1256,6 @@ e_meeting_time_selector_refresh_free_busy (EMeetingTimeSelector *mts, int row, g else e_meeting_model_refresh_busy_periods (mts->model, row, &start, &end, e_meeting_time_selector_refresh_cb, mts); - - gtk_object_unref (GTK_OBJECT (mts)); } EMeetingTimeSelectorAutopickOption |