[evolution-data-server] Bug 764172 - [IMAPx] Load folder summary into memory before sync/fetch



commit 6d2c0c90657b092fdc65c2cefac226e7d7d22b0c
Author: Milan Crha <mcrha redhat com>
Date:   Wed Mar 30 23:28:54 2016 +0200

    Bug 764172 - [IMAPx] Load folder summary into memory before sync/fetch
    
    Make sure the folder summary message infos are loaded in memory before
    folder content fetch (refresh) and before the synchronization (store
    local changes), to avoid slowness when reading message infos one by one.

 camel/providers/imapx/camel-imapx-server.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/camel/providers/imapx/camel-imapx-server.c b/camel/providers/imapx/camel-imapx-server.c
index 569d9ad..b491407 100644
--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -4966,6 +4966,8 @@ camel_imapx_server_refresh_info_sync (CamelIMAPXServer *is,
                uidl = 1;
        }
 
+       camel_folder_summary_prepare_fetch_all (folder->summary, NULL);
+
        known_uids = g_hash_table_new_full (g_str_hash, g_str_equal, (GDestroyNotify) camel_pstring_free, 
NULL);
 
        success = imapx_server_fetch_changes (is, mailbox, folder, known_uids, uidl, 0, cancellable, error);
@@ -5174,6 +5176,9 @@ camel_imapx_server_sync_changes_sync (CamelIMAPXServer *is,
                g_object_unref (settings);
        }
 
+       if (changed_uids->len > 20)
+               camel_folder_summary_prepare_fetch_all (folder->summary, NULL);
+
        off_orset = on_orset = 0;
        for (i = 0; i < changed_uids->len; i++) {
                guint32 flags, sflags;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]