aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog6
-rw-r--r--calendar/gui/e-meeting-time-sel.c11
2 files changed, 16 insertions, 1 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 2907b7db2a..a13d3b2e66 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,9 @@
+2003-05-15 JP Rosevear <jpr@ximian.com>
+
+ * gui/e-meeting-time-sel.c
+ (e_meeting_time_selector_refresh_free_busy): ref ourselves the
+ number of times we'll get called back
+
2003-05-14 JP Rosevear <jpr@ximian.com>
* gui/e-tasks.c (e_tasks_destroy): guard against multiple destroys
diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c
index b1d7ff0bbc..c4286f91a4 100644
--- a/calendar/gui/e-meeting-time-sel.c
+++ b/calendar/gui/e-meeting-time-sel.c
@@ -1252,7 +1252,16 @@ e_meeting_time_selector_refresh_free_busy (EMeetingTimeSelector *mts, int row, g
/* 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));
+ /* FIXME We should really have a mechanism to unqueue the
+ * notification */
+ if (all) {
+ int i;
+
+ for (i = 0; i < e_meeting_model_count_actual_attendees (mts->model); i++)
+ gtk_object_ref (GTK_OBJECT (mts));
+ } else {
+ gtk_object_ref (GTK_OBJECT (mts));
+ }
if (all)
e_meeting_model_refresh_all_busy_periods (mts->model, &start, &end,