X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fthread.cc;h=f2618ace756b7046899d4f843749aee138aa584b;hb=f4245aec94815176a52baae57a6c260b2bbae9c2;hp=df1d0db7fae0ac0f4e8d8f6c400d31dc09b2b3b6;hpb=c168e24174d32563ceb1a35d9bf1875c5bfeac25;p=notmuch diff --git a/lib/thread.cc b/lib/thread.cc index df1d0db7..f2618ace 100644 --- a/lib/thread.cc +++ b/lib/thread.cc @@ -111,15 +111,24 @@ _thread_add_message (notmuch_thread_t *thread, g_hash_table_insert (thread->tags, xstrdup (tag), NULL); } + thread->total_messages++; +} + +static void +_thread_add_matched_message (notmuch_thread_t *thread, + notmuch_message_t *message) +{ + time_t date; + date = notmuch_message_get_date (message); - if (date < thread->oldest || ! thread->total_messages) + if (date < thread->oldest || ! thread->matched_messages) thread->oldest = date; - if (date > thread->newest || ! thread->total_messages) + if (date > thread->newest || ! thread->matched_messages) thread->newest = date; - thread->total_messages++; + thread->matched_messages++; } /* Create a new notmuch_thread_t object for the given thread ID, @@ -186,7 +195,7 @@ _notmuch_thread_create (void *ctx, thread->oldest = 0; thread->newest = 0; - notmuch_query_set_sort (thread_id_query, NOTMUCH_SORT_DATE_OLDEST_FIRST); + notmuch_query_set_sort (thread_id_query, NOTMUCH_SORT_DATE); for (messages = notmuch_query_search_messages (thread_id_query, 0, -1); notmuch_messages_has_more (messages); @@ -201,7 +210,7 @@ _notmuch_thread_create (void *ctx, notmuch_messages_has_more (messages); notmuch_messages_advance (messages)) { - thread->matched_messages++; + _thread_add_matched_message (thread, notmuch_messages_get (messages)); } notmuch_query_destroy (matched_query);