[evolution-ews/gnome-2-28] Bug 713618 - [EWS] evolution ui hangs when modifying a recurrence event (bnc)



commit 9b29c480439679b9c6b3c61e95fe0b35dd3aa65c
Author: Chenthill Palanisamy <pchenthill novell com>
Date:   Mon Sep 12 07:06:02 2011 +0530

    Bug 713618 - [EWS] evolution ui hangs when modifying a recurrence event (bnc)

 src/calendar/e-cal-backend-ews.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/calendar/e-cal-backend-ews.c b/src/calendar/e-cal-backend-ews.c
index 706741e..1288722 100644
--- a/src/calendar/e-cal-backend-ews.c
+++ b/src/calendar/e-cal-backend-ews.c
@@ -1674,19 +1674,21 @@ ews_cal_modify_object_cb (GObject *object, GAsyncResult *res, gpointer user_data
 	ECalBackendEws *cbews = modify_data->cbews;
 	ECalBackendEwsPrivate *priv = cbews->priv;
 	GError *error = NULL;
-	gchar *comp_str, *comp_str_old;
+	gchar *comp_str = NULL, *comp_str_old = NULL;
 	GSList *ids = NULL;
 	const EwsId *item_id;
-	icalproperty *icalprop;
+	icalproperty *icalprop = NULL;
 	icalcomponent *icalcomp;
-	ECalComponentId *id;
+	ECalComponentId *id = NULL;
 	const gchar *x_name;
 
 	if (!e_ews_connection_update_items_finish (cnc, res, &ids, &error)) {
 		/* The calendar UI doesn't *display* errors unless they have
 		   the OtherError code */
 		error->code = EDC_CODE (OtherError);
-		return;
+		if (modify_data->cal)
+			e_data_cal_notify_object_modified (modify_data->cal, EDC_ER_CODE(error), NULL, NULL);
+		goto exit;
 	}
 
 	g_object_ref (modify_data->comp);
@@ -1736,6 +1738,8 @@ ews_cal_modify_object_cb (GObject *object, GAsyncResult *res, gpointer user_data
 	e_cal_component_free_id (id);
 	g_free(comp_str);
 	g_free(comp_str_old);
+
+exit:
 	g_free(modify_data->itemid);
 	g_free(modify_data->changekey);
 	g_object_unref(modify_data->comp);



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