diff --git a/eds-issue296-test.patch b/eds-issue296-test.patch new file mode 100644 index 0000000..90691f6 --- /dev/null +++ b/eds-issue296-test.patch @@ -0,0 +1,60 @@ +From 90a03746553352b776dd49959f7d235b137de543 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Wed, 29 May 2019 10:47:12 +0200 +Subject: [PATCH] I#108 - [IMAPx] Folder changes could be claimed in a wrong + folder after APPEND + +Closes https://gitlab.gnome.org/GNOME/evolution-data-server/issues/108 +--- + src/camel/providers/imapx/camel-imapx-server.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c +index 0eae047e7..e86d4e605 100644 +--- a/src/camel/providers/imapx/camel-imapx-server.c ++++ b/src/camel/providers/imapx/camel-imapx-server.c +@@ -4852,6 +4852,7 @@ camel_imapx_server_copy_message_sync (CamelIMAPXServer *is, + if (camel_folder_change_info_changed (dest_changes)) { + camel_folder_summary_touch (destination_summary); + camel_folder_summary_save (destination_summary, NULL); ++ imapx_update_store_summary (destination_folder); + camel_folder_changed (destination_folder, dest_changes); + } + +@@ -5107,6 +5108,7 @@ camel_imapx_server_append_message_sync (CamelIMAPXServer *is, + if (ic->status && ic->status->condition == IMAPX_APPENDUID) { + c (is->priv->tagprefix, "Got appenduid %u %u\n", (guint32) ic->status->u.appenduid.uidvalidity, ic->status->u.appenduid.uid); + if (ic->status->u.appenduid.uidvalidity == uidvalidity) { ++ CamelFolderChangeInfo *dest_changes; + gchar *uid; + + uid = g_strdup_printf ("%u", ic->status->u.appenduid.uid); +@@ -5127,11 +5129,13 @@ camel_imapx_server_append_message_sync (CamelIMAPXServer *is, + + camel_folder_summary_add (camel_folder_get_folder_summary (folder), clone, TRUE); + +- g_mutex_lock (&is->priv->changes_lock); +- camel_folder_change_info_add_uid (is->priv->changes, camel_message_info_get_uid (clone)); +- g_mutex_unlock (&is->priv->changes_lock); ++ dest_changes = camel_folder_change_info_new (); ++ camel_folder_change_info_add_uid (dest_changes, camel_message_info_get_uid (clone)); + + camel_folder_summary_save (camel_folder_get_folder_summary (folder), NULL); ++ imapx_update_store_summary (folder); ++ camel_folder_changed (folder, dest_changes); ++ camel_folder_change_info_free (dest_changes); + + if (appended_uid) + *appended_uid = uid; +@@ -6403,7 +6407,7 @@ camel_imapx_server_expunge_sync (CamelIMAPXServer *is, + + camel_folder_summary_remove_uids (folder_summary, removed); + camel_folder_summary_save (folder_summary, NULL); +- ++ imapx_update_store_summary (folder); + camel_folder_changed (folder, changes); + camel_folder_change_info_free (changes); + +-- +2.21.0 + diff --git a/evolution-data-server.changes b/evolution-data-server.changes index 16b7ca1..be93280 100644 --- a/evolution-data-server.changes +++ b/evolution-data-server.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Jun 4 08:34:20 CEST 2019 - Matej Cepl + +- Add eds-issue296-test.patch to fix + https://gitlab.gnome.org/GNOME/evolution/issues/296 (or + actually + https://gitlab.gnome.org/GNOME/evolution-data-server/issues/108). + ------------------------------------------------------------------- Mon May 6 18:06:24 UTC 2019 - Bjørn Lie diff --git a/evolution-data-server.spec b/evolution-data-server.spec index 4b29692..4d2cd2a 100644 --- a/evolution-data-server.spec +++ b/evolution-data-server.spec @@ -38,7 +38,7 @@ Group: Development/Libraries/GNOME URL: https://wiki.gnome.org/Apps/Evolution Source0: https://download.gnome.org/sources/evolution-data-server/3.32/%{name}-%{version}.tar.xz Source99: baselibs.conf - +Patch0: eds-issue296-test.patch BuildRequires: cmake BuildRequires: db-devel BuildRequires: fdupes