[evolution-mapi] Bug #643791 - Duplicate events from outlook / OWA meetings
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-mapi] Bug #643791 - Duplicate events from outlook / OWA meetings
- Date: Mon, 7 Mar 2011 13:39:13 +0000 (UTC)
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]