[evolution-ews/gnome-2-28] Bug #665065 - Updates changed items forever
- From: Punit Jain <jpunit src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-ews/gnome-2-28] Bug #665065 - Updates changed items forever
- Date: Tue, 13 Mar 2012 12:58:46 +0000 (UTC)
commit 57e73d6912abbff187e1bd2255c8a4de5c3ca4ce
Author: Milan Crha <mcrha redhat com>
Date: Wed Dec 7 10:30:32 2011 +0100
Bug #665065 - Updates changed items forever
src/camel/camel-ews-folder.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/src/camel/camel-ews-folder.c b/src/camel/camel-ews-folder.c
index af4cb2e..74aacff 100644
--- a/src/camel/camel-ews-folder.c
+++ b/src/camel/camel-ews-folder.c
@@ -733,6 +733,11 @@ msg_update_flags (ESoapMessage *msg, gpointer user_data)
e_ews_message_end_item_change (msg);
+ mi->info.flags = mi->info.flags & (~CAMEL_MESSAGE_FOLDER_FLAGGED);
+ mi->info.dirty = TRUE;
+
+ camel_folder_summary_touch (mi->info.summary);
+
camel_message_info_free (mi);
}
/* Don't think we need to free the list; we already freed every element */
@@ -795,7 +800,7 @@ ews_synchronize_sync (CamelFolder *folder, gboolean expunge, GCancellable *cance
/* OK, the change must have been the labels */
mi_list = g_slist_append (mi_list, mi);
mi_list_len++;
- }
+ }
if (mi_list_len == EWS_MAX_FETCH_COUNT) {
success = ews_sync_mi_flags (folder, mi_list, cancellable, error);
@@ -803,14 +808,16 @@ ews_synchronize_sync (CamelFolder *folder, gboolean expunge, GCancellable *cance
mi_list_len = 0;
}
}
-
+
if (mi_list_len)
success = ews_sync_mi_flags (folder, mi_list, cancellable, error);
if (deleted_uids)
success = ews_delete_messages (folder, deleted_uids, FALSE, cancellable, error);
+ camel_folder_summary_save_to_db (folder->summary, NULL);
camel_folder_free_uids (folder, uids);
+
return success;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]