[evolution-patches] Fix for the bug #330674 [exchange calendar]



Hi,
    Have attached the fix for the bug. Pass the right argument while notification the clients on object removals.

thanks, Chenthill.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-exchange/ChangeLog,v
retrieving revision 1.480
diff -u -p -r1.480 ChangeLog
--- ChangeLog	6 Mar 2006 15:18:15 -0000	1.480
+++ ChangeLog	9 Mar 2006 14:45:36 -0000
@@ -1,3 +1,10 @@
+2006-03-09  Chenthill Palanisamy  <pchenthill novell com>
+
+	Fixes #330674
+	* calendar/e-cal-backend-exchange-calendar.c:
+	(receive_objects): Passed ECalComponentId for notifying
+	clients on objects removed.
+
 2006-03-06  Sushma Rai  <rsushma novell com>
 
 	* calendar/e-cal-backend-exchange-calendar.c 
Index: calendar/e-cal-backend-exchange-calendar.c
===================================================================
RCS file: /cvs/gnome/evolution-exchange/calendar/e-cal-backend-exchange-calendar.c,v
retrieving revision 1.53
diff -u -p -r1.53 e-cal-backend-exchange-calendar.c
--- calendar/e-cal-backend-exchange-calendar.c	4 Mar 2006 10:17:41 -0000	1.53
+++ calendar/e-cal-backend-exchange-calendar.c	9 Mar 2006 14:45:38 -0000
@@ -673,6 +673,7 @@ check_owner_partstatus_for_declined (ECa
 	
 	email = e_cal_backend_exchange_get_owner_email (backend);
 	icalprop = find_attendee_prop (icalcomp, email);
+
 	g_free (email);
 	
 	param = icalproperty_get_first_parameter (icalprop, ICAL_PARTSTAT_PARAMETER);
@@ -1522,13 +1523,16 @@ receive_objects (ECalBackendSync *backen
 				d(printf ("uid : %s : found in the cache\n", uid));
 
 				if (check_owner_partstatus_for_declined (backend, subcomp)) {
+					ECalComponentId *id = NULL;
 					status = remove_object (backend, cal, uid, NULL, 
 								CALOBJ_MOD_ALL, &old_object,
 								NULL);
 					if (status != GNOME_Evolution_Calendar_Success)
 						goto error;
-					e_cal_backend_notify_object_removed (E_CAL_BACKEND (backend), uid,
+					id = e_cal_component_get_id (comp);
+					e_cal_backend_notify_object_removed (E_CAL_BACKEND (backend), id,
 									     old_object, NULL);
+					e_cal_component_free_id (id);
 				} else {
 					struct icaltimetype time_rid;
 					char *new_object = NULL;
@@ -1581,8 +1585,12 @@ receive_objects (ECalBackendSync *backen
 				status = remove_object (backend, cal, uid, rid, CALOBJ_MOD_THIS, &icalobj, &object);
 			else
 				status = remove_object (backend, cal, uid, NULL, CALOBJ_MOD_ALL, &icalobj, &object);
-			if (status == GNOME_Evolution_Calendar_Success) 
-				e_cal_backend_notify_object_removed (E_CAL_BACKEND (backend), uid, icalobj, NULL);
+			if (status == GNOME_Evolution_Calendar_Success) {
+				ECalComponentId *id = e_cal_component_get_id (comp);
+				e_cal_backend_notify_object_removed (E_CAL_BACKEND (backend), id, icalobj, NULL);
+				e_cal_component_free_id (id);
+				
+			}
 			if (object) {
 				g_free (object);
 				object = NULL;


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