diff options
author | Milan Crha <mcrha@redhat.com> | 2019-08-02 12:34:49 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2019-08-02 12:34:49 +0200 |
commit | 6989cd719226a6d3d68a63612d4f318fabd3eba0 (patch) | |
tree | 13325ae839a2f271937a504da5a382c87124b4fc | |
parent | d725a3e7309cea9dbe3d3835c5b95352977a393c (diff) | |
download | evolution-data-server-6989cd719226a6d3d68a63612d4f318fabd3eba0.tar.gz |
Let the message-location check also real message location in the search folders
This helps to filter on message location in search folders, which
have other search folders as source folders, by referencing the real
folder of the respective message.
Related to https://gitlab.gnome.org/GNOME/evolution/issues/548
-rw-r--r-- | src/camel/camel-folder-search.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/camel/camel-folder-search.c b/src/camel/camel-folder-search.c index e240caa2b..3dee2ac7b 100644 --- a/src/camel/camel-folder-search.c +++ b/src/camel/camel-folder-search.c @@ -1697,6 +1697,24 @@ folder_search_message_location (CamelSExp *sexp, same = g_str_equal (uri, argv[0]->value.string); g_free (uri); + + if (!same && search->priv->current && + CAMEL_IS_VEE_FOLDER (search->priv->folder)) { + CamelFolder *folder; + + folder = camel_vee_folder_get_location (CAMEL_VEE_FOLDER (search->priv->folder), + (CamelVeeMessageInfo *) search->priv->current, NULL); + + if (folder) { + store = camel_folder_get_parent_store (folder); + name = camel_folder_get_full_name (folder); + uri = mail_folder_uri_build (store, name); + + same = g_str_equal (uri, argv[0]->value.string); + + g_free (uri); + } + } } } |