[evolution-patches] patch to fix the bugs #68580 and #68525 [calendar]
- From: chenthill <pchenthill novell com>
- To: patches <evolution-patches lists ximian com>
- Subject: [evolution-patches] patch to fix the bugs #68580 and #68525 [calendar]
- Date: Thu, 17 Mar 2005 19:57:22 +0530
Hi,
This crash occured due to a race condition, have attached a better
stack trace for the bug 68525. Have added a boolean variable to
thanks, chenthill.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2691
diff -u -p -r1.2691 ChangeLog
--- ChangeLog 16 Mar 2005 14:51:00 -0000 1.2691
+++ ChangeLog 17 Mar 2005 14:06:30 -0000
@@ -1,3 +1,10 @@
+2005-03-17 Chenthill Palanisamy <pchenthill novell com>
+
+ Fixes #68525, 68580
+ * gui/gnome-cal.c (update_query), (gnome_calendar_init):
+ Added a boolean variable to avoid crash when a race condition
+ occurs.
+
2005-03-16 Rodrigo Moya <rodrigo novell com>
Fixes #73101
Index: gui/gnome-cal.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/gnome-cal.c,v
retrieving revision 1.368
diff -u -p -r1.368 gnome-cal.c
--- gui/gnome-cal.c 28 Feb 2005 22:12:30 -0000 1.368
+++ gui/gnome-cal.c 17 Mar 2005 14:06:31 -0000
@@ -175,6 +175,8 @@ struct _GnomeCalendarPrivate {
'dates-shown-changed' signal.*/
time_t visible_start;
time_t visible_end;
+
+ gboolean updating;
};
/* Signal IDs */
@@ -715,6 +717,10 @@ update_query (GnomeCalendar *gcal)
priv = gcal->priv;
+ if (priv->updating == TRUE)
+ return;
+
+ priv->updating = TRUE;
e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), _("Updating query"));
e_calendar_item_clear_marks (priv->date_navigator->calitem);
@@ -731,12 +737,13 @@ update_query (GnomeCalendar *gcal)
g_list_free (priv->dn_queries);
priv->dn_queries = NULL;
-
+
g_assert (priv->sexp != NULL);
real_sexp = adjust_e_cal_view_sexp (gcal, priv->sexp);
if (!real_sexp) {
e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
+ priv->updating = FALSE;
return; /* No time range is set, so don't start a query */
}
@@ -769,8 +776,10 @@ update_query (GnomeCalendar *gcal)
/* free memory */
g_free (real_sexp);
+ priv->updating = FALSE;
e_calendar_view_set_status_message (E_CALENDAR_VIEW (priv->week_view), NULL);
update_todo_view (gcal);
+
}
static void
@@ -1412,6 +1421,7 @@ gnome_calendar_init (GnomeCalendar *gcal
priv->visible_start = -1;
priv->visible_end = -1;
+ priv->updating = FALSE;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]