aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2003-04-08 04:02:52 +0800
committerJP Rosevear <jpr@src.gnome.org>2003-04-08 04:02:52 +0800
commit18b0c8df946cd8dd936c5a81bb2f143371d28060 (patch)
treee9bd3b2efaa00dfb8cdcc8929c072f432650e2fb /calendar/gui
parent5c0dca8bd51d32374d72ca870d0bfa11df8f1e78 (diff)
downloadgsoc2013-evolution-18b0c8df946cd8dd936c5a81bb2f143371d28060.tar.gz
gsoc2013-evolution-18b0c8df946cd8dd936c5a81bb2f143371d28060.tar.zst
gsoc2013-evolution-18b0c8df946cd8dd936c5a81bb2f143371d28060.zip
Fixes #40876
2003-04-07 JP Rosevear <jpr@ximian.com> Fixes #40876 * gui/e-meeting-time-sel.c (e_meeting_time_selector_refresh_free_busy): guard against callbacks after destruction (e_meeting_time_selector_refresh_cb): ditto svn path=/trunk/; revision=20727
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/e-meeting-time-sel.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/calendar/gui/e-meeting-time-sel.c b/calendar/gui/e-meeting-time-sel.c
index 7e21598115..b857814125 100644
--- a/calendar/gui/e-meeting-time-sel.c
+++ b/calendar/gui/e-meeting-time-sel.c
@@ -1223,8 +1223,11 @@ static void
e_meeting_time_selector_refresh_cb (gpointer data)
{
EMeetingTimeSelector *mts = data;
- gtk_widget_queue_draw (mts->display_top);
- gtk_widget_queue_draw (mts->display_main);
+
+ if (mts->display_top != NULL)
+ gtk_widget_queue_draw (mts->display_top);
+ if (mts->display_main != NULL)
+ gtk_widget_queue_draw (mts->display_main);
}
static void
@@ -1241,12 +1244,17 @@ 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 */
+ gtk_object_ref (GTK_OBJECT (mts));
+
if (all)
e_meeting_model_refresh_all_busy_periods (mts->model, &start, &end,
e_meeting_time_selector_refresh_cb, mts);
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