File bnc-164676-eds-stuck-tight-loop.patch of Package evolution-data-server

--- addressbook/backends/groupwise/e-book-backend-groupwise.c.orig	2006-04-16 20:19:03.086611569 +0200
+++ addressbook/backends/groupwise/e-book-backend-groupwise.c	2006-04-16 20:24:43.271873993 +0200
@@ -2814,8 +2814,41 @@ update_address_book_deltas (EBookBackend
 					printf("sequence differs but no changes found !!!\n");
 				break;
 			}
-                       printf("add_list size:%d\n", g_list_length(add_list));
-                       printf("delete_list size:%d\n", g_list_length(delete_list));
+			if (enable_debug) {
+                	       printf("add_list size:%d\n", g_list_length(add_list));
+	                       printf("delete_list size:%d\n", g_list_length(delete_list));
+			}
+
+			for (; delete_list != NULL; delete_list = g_list_next(delete_list)) { 
+				const char *id;
+
+				/* deleted from the server */
+				contact = e_contact_new ();
+				fill_contact_from_gw_item (contact, 
+							   E_GW_ITEM (delete_list->data), 
+							   ebgw->priv->categories_by_id);
+				if (enable_debug)
+					printf("contact email:%s, contact name:%s\n", (char *) e_contact_get(contact, E_CONTACT_EMAIL_1), (char *) e_contact_get(contact, E_CONTACT_GIVEN_NAME));
+				e_contact_set (contact, 
+					       E_CONTACT_BOOK_URI, 
+					       priv->original_uri);
+				id =  e_contact_get_const (contact, E_CONTACT_UID);
+
+				if (e_book_backend_cache_check_contact (ebgw->priv->cache, id)) {
+					contact_num++;
+
+					if (book_view) {
+						status_msg = g_strdup_printf (_("Updating contacts cache (%d)... "),
+										 contact_num);
+						book_view_notify_status (book_view, status_msg);
+						g_free (status_msg);
+					}
+					e_book_backend_cache_remove_contact (ebgw->priv->cache, id);
+					e_book_backend_summary_remove_contact (ebgw->priv->summary, id);
+				}
+				g_object_unref(contact);
+				g_object_unref (delete_list->data);
+			}
 
 			for (; add_list != NULL; add_list = g_list_next(add_list)) { 
 				const char *id;
@@ -2851,34 +2884,6 @@ update_address_book_deltas (EBookBackend
 				g_object_unref (add_list->data);
 			}
 
-			for (; delete_list != NULL; delete_list = g_list_next(delete_list)) { 
-				const char *id;
-
-				/* deleted from the server */
-				contact = e_contact_new ();
-				fill_contact_from_gw_item (contact, 
-							   E_GW_ITEM (delete_list->data), 
-							   ebgw->priv->categories_by_id);
-				e_contact_set (contact, 
-					       E_CONTACT_BOOK_URI, 
-					       priv->original_uri);
-				id =  e_contact_get_const (contact, E_CONTACT_UID);
-
-				if (e_book_backend_cache_check_contact (ebgw->priv->cache, id)) {
-					contact_num++;
-
-					if (book_view) {
-						status_msg = g_strdup_printf (_("Updating contacts cache (%d)... "),
-										 contact_num);
-						book_view_notify_status (book_view, status_msg);
-						g_free (status_msg);
-					}
-					e_book_backend_cache_remove_contact (ebgw->priv->cache, id);
-					e_book_backend_summary_remove_contact (ebgw->priv->summary, id);
-				}
-				g_object_unref(contact);
-				g_object_unref (delete_list->data);
-			}
 			cache_last_sequence += contact_num;
 		}
 
--- servers/groupwise/e-gw-connection.c.orig	2006-04-16 20:19:30.383515263 +0200
+++ servers/groupwise/e-gw-connection.c	2006-04-16 20:19:40.699856797 +0200
@@ -764,7 +764,7 @@ e_gw_connection_get_items_delta (EGwConn
         SoupSoapMessage *msg;
         SoupSoapResponse *response;
         EGwConnectionStatus status;
-        SoupSoapParameter *param, *subparam;
+        SoupSoapParameter *param, *subparam, *subsubparam;
 	
         g_return_val_if_fail (E_IS_GW_CONNECTION (cnc), E_GW_CONNECTION_STATUS_INVALID_OBJECT);
 	
@@ -819,11 +819,11 @@ e_gw_connection_get_items_delta (EGwConn
 	
 		item = e_gw_item_new_from_soap_parameter (cnc->priv->user_email, container, subparam);
 		
-		subparam =  soup_soap_parameter_get_first_child_by_name(subparam, "sync");
-		if (subparam) {
+		subsubparam =  soup_soap_parameter_get_first_child_by_name(subparam, "sync");
+		if (subsubparam) {
 			char *value;
 
-			value = soup_soap_parameter_get_string_value (subparam);
+			value = soup_soap_parameter_get_string_value (subsubparam);
 			if (!strcmp (value, "add") || !strcmp (value, "update")) {
 				*add_list = g_list_append (*add_list, item);
 			} else if (!strcmp (value, "delete")) {
openSUSE Build Service is sponsored by