summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2023-03-31 10:42:03 +0200
committerMilan Crha <mcrha@redhat.com>2023-03-31 10:42:03 +0200
commitc43b1d0c0c2f3831005c450b17926f9cb0743096 (patch)
treee71e2f43a30c01f75c86e0419e0e601e14afa972
parent1100864cc45ef4e93f7b285bd5ce0d9f7d113bc7 (diff)
downloadevolution-data-server-c43b1d0c0c2f3831005c450b17926f9cb0743096.tar.gz
CamelFilterDriver: Unset info's headers only when folder has summary
Not every filtered folder has summary capability. Asking for a message info for such folders results in a runtime warning. This one could be seen when filtering for example POP3 messages.
-rw-r--r--src/camel/camel-filter-driver.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/camel/camel-filter-driver.c b/src/camel/camel-filter-driver.c
index 4782ae9c0..585e2d1a5 100644
--- a/src/camel/camel-filter-driver.c
+++ b/src/camel/camel-filter-driver.c
@@ -1861,13 +1861,15 @@ camel_filter_driver_filter_folder (CamelFilterDriver *driver,
if (cache)
camel_uid_cache_save (cache);
- /* Unset message headers on the infos, which are meant only for filtering,
- which just finished, thus the memory can be freed now */
- for (i = 0; i < uids->len; i++) {
- info = camel_folder_get_message_info (folder, uids->pdata[i]);
- if (info)
- camel_message_info_take_headers (info, NULL);
- g_clear_object (&info);
+ if (camel_folder_has_summary_capability (folder)) {
+ /* Unset message headers on the infos, which are meant only for filtering,
+ which just finished, thus the memory can be freed now */
+ for (i = 0; i < uids->len; i++) {
+ info = camel_folder_get_message_info (folder, uids->pdata[i]);
+ if (info)
+ camel_message_info_take_headers (info, NULL);
+ g_clear_object (&info);
+ }
}
if (driver->priv->defaultfolder) {