Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:jberkman
evolution-data-server-2.6
bnc-164676-eds-stuck-tight-loop.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bnc-164676-eds-stuck-tight-loop.patch of Package evolution-data-server-2.6
--- 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")) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor