X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=lib%2Fthread.cc;h=1c8b39d208bc89a780675da6f27f98de0b168b97;hp=58d88c2d1597145276a83807165d6939ab340bd2;hb=b957a1b029d27c6b2ecd352dbacde3d9d164666f;hpb=c1e16435cfe4471c3415d9f625f7230d59c8afb4 diff --git a/lib/thread.cc b/lib/thread.cc index 58d88c2d..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 @@ -261,8 +269,8 @@ _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); - notmuch_messages_has_more (messages); - notmuch_messages_advance (messages)) + 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); - notmuch_messages_has_more (messages); - notmuch_messages_advance (messages)) + notmuch_messages_valid (messages); + notmuch_messages_move_to_next (messages)) { message = notmuch_messages_get (messages); _thread_add_matched_message (thread, message);