evolution-data-server/bnc-169997-eds-infinite-loop.diff

30 lines
1.1 KiB
Diff
Raw Normal View History

--- addressbook/backends/groupwise/e-book-backend-groupwise.c.orig 2006-05-11 12:21:57.361493158 +0200
+++ addressbook/backends/groupwise/e-book-backend-groupwise.c 2006-05-11 12:15:45.055028496 +0200
@@ -2883,7 +2883,6 @@ update_address_book_deltas (EBookBackend
if (cache_last_sequence != server_last_sequence) {
- while (cache_last_sequence < server_last_sequence) {
if (enable_debug) {
printf("cache_last_sequence:%lf, server_last_sequence:%lf\n", cache_last_sequence, server_last_sequence);
printf("Calling get_items_delta\n");
@@ -2897,7 +2896,8 @@ update_address_book_deltas (EBookBackend
if (add_list == NULL && delete_list == NULL) {
if (enable_debug)
printf("sequence differs but no changes found !!!\n");
- break;
+ g_mutex_unlock (priv->update_mutex);
+ return TRUE;
}
sync_required = TRUE;
if (enable_debug) {
@@ -2976,7 +2976,7 @@ update_address_book_deltas (EBookBackend
g_object_unref (add_list->data);
}
cache_last_sequence += contact_num;
- }
+
/* cache is updated, now adding the sequence information to the cache */