X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fthread.cc;h=1c8b39d208bc89a780675da6f27f98de0b168b97;hp=9bb6a5e1f4d11b8ba50e89c7377e4e3122cc3ed4;hb=b957a1b029d27c6b2ecd352dbacde3d9d164666f;hpb=333486572517d2e2084d66208de59085f21d8573 diff --git a/lib/thread.cc b/lib/thread.cc index 9bb6a5e1..1c8b39d2 100644 --- a/lib/thread.cc +++ b/lib/thread.cc @@ -119,8 +119,8 @@ _thread_add_message (notmuch_thread_t *thread, } for (tags = notmuch_message_get_tags (message); - notmuch_tags_has_more (tags); - notmuch_tags_advance (tags)) + notmuch_tags_valid (tags); + notmuch_tags_move_to_next (tags)) { tag = notmuch_tags_get (tags); g_hash_table_insert (thread->tags, xstrdup (tag), NULL); @@ -132,6 +132,7 @@ _thread_add_matched_message (notmuch_thread_t *thread, notmuch_message_t *message) { time_t date; + notmuch_message_t *hashed_message; date = notmuch_message_get_date (message); @@ -142,6 +143,13 @@ _thread_add_matched_message (notmuch_thread_t *thread, thread->newest = date; thread->matched_messages++; + + if (g_hash_table_lookup_extended (thread->message_hash, + notmuch_message_get_message_id (message), NULL, + (void **) &hashed_message)) { + notmuch_message_set_flag (hashed_message, + NOTMUCH_MESSAGE_FLAG_MATCH, 1); + } } static void @@ -190,7 +198,7 @@ _resolve_thread_relationships (unused (notmuch_thread_t *thread)) * subject line, the total count of messages, and all authors). The * second search is for all messages that are in the thread and that * also match the given query_string. This is to allow for a separate - * count of matched messages, and to allow a viewer to diplay these + * count of matched messages, and to allow a viewer to display these * messages differently. * * Here, 'ctx' is talloc context for the resulting thread object. @@ -260,9 +268,9 @@ _notmuch_thread_create (void *ctx, notmuch_query_set_sort (thread_id_query, NOTMUCH_SORT_OLDEST_FIRST); - for (messages = notmuch_query_search_messages (thread_id_query, 0, -1); - notmuch_messages_has_more (messages); - notmuch_messages_advance (messages)) + for (messages = notmuch_query_search_messages (thread_id_query); + notmuch_messages_valid (messages); + notmuch_messages_move_to_next (messages)) { message = notmuch_messages_get (messages); _thread_add_message (thread, message); @@ -270,10 +278,9 @@ _notmuch_thread_create (void *ctx, } notmuch_query_destroy (thread_id_query); - - for (messages = notmuch_query_search_messages (matched_query, 0, -1); - notmuch_messages_has_more (messages); - notmuch_messages_advance (messages)) + for (messages = notmuch_query_search_messages (matched_query); + notmuch_messages_valid (messages); + notmuch_messages_move_to_next (messages)) { message = notmuch_messages_get (messages); _thread_add_matched_message (thread, message);