[evolution-data-server/gnome-3-22] Bug 774496 - [POP3] Downloads messages multiple times with auto-fetch



commit 7e296e141e1387a2547c7c87e7a579f2def96dcb
Author: Milan Crha <mcrha redhat com>
Date:   Tue Nov 29 18:07:31 2016 +0100

    Bug 774496 - [POP3] Downloads messages multiple times with auto-fetch

 camel/providers/pop3/camel-pop3-folder.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)
---
diff --git a/camel/providers/pop3/camel-pop3-folder.c b/camel/providers/pop3/camel-pop3-folder.c
index 8f91e1c..918b13a 100644
--- a/camel/providers/pop3/camel-pop3-folder.c
+++ b/camel/providers/pop3/camel-pop3-folder.c
@@ -522,7 +522,7 @@ pop3_folder_get_message_internal_sync (CamelFolder *folder,
                        for (; i < last; i++) {
                                CamelPOP3FolderInfo *pfi = pop3_folder->uids->pdata[i];
 
-                               if (pfi->uid && pfi->cmd == NULL) {
+                               if (pfi->uid && !pfi->cmd && !camel_pop3_store_cache_has (pop3_store, 
pfi->uid)) {
                                        pfi->stream = camel_pop3_store_cache_add (
                                                pop3_store, pfi->uid, NULL);
                                        if (pfi->stream != NULL) {
@@ -533,15 +533,15 @@ pop3_folder_get_message_internal_sync (CamelFolder *folder,
                                                        cancellable, &local_error,
                                                        "RETR %u\r\n", pfi->id);
 
-                                                       if (local_error) {
-                                                               if (pcr)
-                                                                       camel_pop3_engine_command_free 
(pop3_engine, pcr);
+                                               if (local_error) {
+                                                       if (pcr)
+                                                               camel_pop3_engine_command_free (pop3_engine, 
pcr);
 
-                                                               g_propagate_error (error, local_error);
-                                                               g_prefix_error (
-                                                                       error, _("Cannot get message %s: "), 
uid);
-                                                               goto done;
-                                                       }
+                                                       g_propagate_error (error, local_error);
+                                                       g_prefix_error (
+                                                               error, _("Cannot get message %s: "), uid);
+                                                       goto done;
+                                               }
                                        }
                                }
                        }


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