aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/gnome-cal.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/calendar/gui/gnome-cal.c b/calendar/gui/gnome-cal.c
index 1912068208..98c01e6372 100644
--- a/calendar/gui/gnome-cal.c
+++ b/calendar/gui/gnome-cal.c
@@ -303,6 +303,16 @@ dn_query_obj_updated_cb (CalQuery *query, const char *uid,
gcal = GNOME_CALENDAR (data);
priv = gcal->priv;
+ /* If this is an update that is not part of an ongoing query, we have to
+ * retag the whole thing: an event may change dates and the
+ * tag_calendar_by_comp() below would not know how to untag the old
+ * dates.
+ */
+ if (!query_in_progress) {
+ update_query (gcal);
+ return;
+ }
+
status = cal_client_get_object (priv->client, uid, &comp);
switch (status) {