]> git.notmuchmail.org Git - notmuch/blobdiff - lib/thread.cc
notmuch search: Fix thread dates to come only from matched messages.
[notmuch] / lib / thread.cc
index ffecc9d0d558822ca8a1c30566664d14e7cb1858..f2618ace756b7046899d4f843749aee138aa584b 100644 (file)
@@ -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,
@@ -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);