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



commit 5869bea615a1aae092b1d6188ab0a49b426d3e72
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

 src/camel/providers/pop3/camel-pop3-folder.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)
---
diff --git a/src/camel/providers/pop3/camel-pop3-folder.c b/src/camel/providers/pop3/camel-pop3-folder.c
index 2beb51e..0e7426d 100644
--- a/src/camel/providers/pop3/camel-pop3-folder.c
+++ b/src/camel/providers/pop3/camel-pop3-folder.c
@@ -523,7 +523,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) {
@@ -534,15 +534,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]