[evolution-mapi] Bug #643791 - Duplicate events from outlook / OWA meetings



commit 7de310ed522ef5ea188ca5649426e4fab83d760e
Author: Sean Finney <seanius seanius net>
Date:   Mon Mar 7 14:38:45 2011 +0100

    Bug #643791 - Duplicate events from outlook / OWA meetings

 src/calendar/e-cal-backend-mapi.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/src/calendar/e-cal-backend-mapi.c b/src/calendar/e-cal-backend-mapi.c
index c46290d..9d43810 100644
--- a/src/calendar/e-cal-backend-mapi.c
+++ b/src/calendar/e-cal-backend-mapi.c
@@ -1010,6 +1010,16 @@ ecbm_get_object (ECalBackend *backend, EDataCal *cal, const gchar *uid, const gc
 	/* search the object in the cache */
 	comp = e_cal_backend_store_get_component (priv->store, uid, rid);
 
+	if (!comp) {
+		/* the object is not in the backend store, double check that it's
+		 * also not on the server to prevent for a race condition where we
+		 * might otherwise mistakenly generate a new UID */
+		g_mutex_unlock (priv->mutex);
+		get_deltas (cbmapi);
+		g_mutex_lock (priv->mutex);
+		comp = e_cal_backend_store_get_component (priv->store, uid, rid);
+	}
+
 	if (comp) {
 		g_mutex_unlock (priv->mutex);
 		if (e_cal_backend_get_kind (E_CAL_BACKEND (backend)) ==



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]