[evolution-data-server] I#378 - Camel: Spool auto-refresh too aggressive
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] I#378 - Camel: Spool auto-refresh too aggressive
- Date: Tue, 22 Feb 2022 11:32:51 +0000 (UTC)
commit 411e44fa78c72fc57572c836ef354728d570c454
Author: Milan Crha <mcrha redhat com>
Date: Tue Feb 22 12:31:41 2022 +0100
I#378 - Camel: Spool auto-refresh too aggressive
Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/378
src/camel/providers/local/camel-mbox-summary.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/src/camel/providers/local/camel-mbox-summary.c b/src/camel/providers/local/camel-mbox-summary.c
index 2eb59dafd..5116ec73f 100644
--- a/src/camel/providers/local/camel-mbox-summary.c
+++ b/src/camel/providers/local/camel-mbox-summary.c
@@ -275,7 +275,12 @@ message_info_new_from_headers (CamelFolderSummary *summary,
info = camel_folder_summary_peek_loaded (summary, uid);
if (info) {
if ((camel_message_info_get_flags (info) & CAMEL_MESSAGE_FOLDER_NOTSEEN)) {
- camel_message_info_set_flags (info, CAMEL_MESSAGE_FOLDER_NOTSEEN, 0);
+ if (camel_message_info_get_folder_flagged (info)) {
+ camel_message_info_set_flags (info,
CAMEL_MESSAGE_FOLDER_NOTSEEN, 0);
+ } else {
+ camel_message_info_set_flags (info,
CAMEL_MESSAGE_FOLDER_FLAGGED | CAMEL_MESSAGE_FOLDER_NOTSEEN | 0xffff,
+ camel_message_info_get_flags (mi) &
(~(CAMEL_MESSAGE_FOLDER_FLAGGED | CAMEL_MESSAGE_FOLDER_NOTSEEN)));
+ }
g_clear_object (&mi);
mi = info;
} else {
@@ -407,7 +412,7 @@ summary_update (CamelLocalSummary *cls,
known_uids = camel_folder_summary_get_array (s);
for (i = 0; known_uids && i < known_uids->len; i++) {
mi = camel_folder_summary_get (s, g_ptr_array_index (known_uids, i));
- camel_message_info_set_flags (mi, CAMEL_MESSAGE_FOLDER_NOTSEEN, offset == 0 ?
CAMEL_MESSAGE_FOLDER_NOTSEEN : 0);
+ camel_message_info_set_flags (mi, CAMEL_MESSAGE_FOLDER_FLAGGED |
CAMEL_MESSAGE_FOLDER_NOTSEEN, offset == 0 ? CAMEL_MESSAGE_FOLDER_NOTSEEN : 0);
g_clear_object (&mi);
}
camel_folder_summary_free_array (known_uids);
@@ -856,7 +861,7 @@ mbox_summary_sync_quick (CamelMboxSummary *mbs,
camel_mime_parser_drop_step (mp);
camel_mime_parser_drop_step (mp);
- camel_message_info_set_flags (info, 0xffff, camel_message_info_get_flags (info));
+ camel_message_info_set_flags (info, CAMEL_MESSAGE_FOLDER_FLAGGED | 0xffff,
camel_message_info_get_flags (info) & (~CAMEL_MESSAGE_FOLDER_FLAGGED));
g_clear_object (&info);
}
@@ -1149,7 +1154,7 @@ camel_mbox_summary_sync_mbox (CamelMboxSummary *cls,
g_strerror (errno));
goto error;
}
- camel_message_info_set_flags (info, 0xffff, camel_message_info_get_flags (info));
+ camel_message_info_set_flags (info, CAMEL_MESSAGE_FOLDER_FLAGGED | 0xffff,
camel_message_info_get_flags (info) & (~CAMEL_MESSAGE_FOLDER_FLAGGED));
g_free (xevnew);
xevnew = NULL;
camel_mime_parser_drop_step (mp);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]