[evolution-patches] GroupWise Calendar - Recurrence Creation
- From: Sankarasivasubramanian P <psankar novell com>
- To: "evolution-patches lists ximian com" <evolution-patches lists ximian com>
- Subject: [evolution-patches] GroupWise Calendar - Recurrence Creation
- Date: Tue, 09 Aug 2005 12:24:55 +0530
Hi,
The attached patch fixes a crash that happens when the server is not
responding properly during the creation of a recurrence appointment.
Fixes #312457
Please review.
Thanks,
Sankar
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.490
diff -u -p -r1.490 ChangeLog
--- ChangeLog 4 Aug 2005 16:42:14 -0000 1.490
+++ ChangeLog 9 Aug 2005 06:48:19 -0000
@@ -1,3 +1,10 @@
+2005-08-09 Sankar P <psankar novell com>
+
+ * backends/groupwise/e-cal-backend-groupwise.c:
+ (e_cal_backend_groupwise_create_object): Added check to handle
+ the scenario when the server doesnot return the proper list.
+ Fixes #312457
+
2005-08-04 Chenthill Palanisamy <pchenthill novell com>
Fixes #305590
Index: backends/groupwise/e-cal-backend-groupwise.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/groupwise/e-cal-backend-groupwise.c,v
retrieving revision 1.159
diff -u -p -r1.159 e-cal-backend-groupwise.c
--- backends/groupwise/e-cal-backend-groupwise.c 25 Jul 2005 13:55:59 -0000 1.159
+++ backends/groupwise/e-cal-backend-groupwise.c 9 Aug 2005 06:48:19 -0000
@@ -1733,7 +1733,7 @@ e_cal_backend_groupwise_create_object (E
e_cal_backend_cache_put_component (priv->cache, comp);
*calobj = e_cal_component_get_as_string (comp);
} else {
-
+ EGwConnectionStatus status;
GList *list = NULL, *tmp;
GPtrArray *uid_array = g_ptr_array_new ();
for (l = uid_list; l; l = g_slist_next (l)) {
@@ -1741,12 +1741,14 @@ e_cal_backend_groupwise_create_object (E
}
/* convert uid_list to GPtrArray and get the items in a list */
- e_gw_connection_get_items_from_ids (priv->cnc,
+ status = e_gw_connection_get_items_from_ids (priv->cnc,
priv->container_id,
"attachments recipients message recipientStatus default peek",
uid_array, &list);
- /* FIXME check if list is null and status may have
- * failed. */
+
+ if (status != E_GW_CONNECTION_STATUS_OK || (list == NULL) || (g_list_length (list) == 0))
+ return GNOME_Evolution_Calendar_OtherError;
+
comp = g_object_ref ( (ECalComponent *) list->data );
/* convert items into components and add them to the cache */
for (i=0, tmp = list; tmp ; tmp = g_list_next (tmp), i++) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]