]> git.notmuchmail.org Git - notmuch/blobdiff - lib/thread.cc
lib: Set thread subject at the same time as setting thread->{oldest,newest}
[notmuch] / lib / thread.cc
index 13872d46c781900865e8ca118a7027ff0665643e..3738baa90978563dcfacc2b62f820402f8790fa1 100644 (file)
@@ -21,8 +21,6 @@
 #include "notmuch-private.h"
 #include "database-private.h"
 
-#include <xapian.h>
-
 #include <gmime/gmime.h>
 #include <glib.h> /* GHashTable */
 
@@ -140,14 +138,14 @@ _complete_thread_authors (notmuch_thread_t *thread)
     thread->authors_array = NULL;
 }
 
-/* clean up the uggly "Lastname, Firstname" format that some mail systems
+/* clean up the ugly "Lastname, Firstname" format that some mail systems
  * (most notably, Exchange) are creating to be "Firstname Lastname"
  * To make sure that we don't change other potential situations where a
  * comma is in the name, we check that we match one of these patterns
  * "Last, First" <first.last@company.com>
  * "Last, First MI" <first.mi.last@company.com>
  */
-char *
+static char *
 _thread_cleanup_author (notmuch_thread_t *thread,
                        const char *author, const char *from)
 {
@@ -290,11 +288,17 @@ _thread_add_matched_message (notmuch_thread_t *thread,
 
     date = notmuch_message_get_date (message);
 
-    if (date < thread->oldest || ! thread->matched_messages)
+    if (date < thread->oldest || ! thread->matched_messages) {
        thread->oldest = date;
+       if (sort == NOTMUCH_SORT_OLDEST_FIRST)
+           _thread_set_subject_from_message (thread, message);
+    }
 
-    if (date > thread->newest || ! thread->matched_messages)
+    if (date > thread->newest || ! thread->matched_messages) {
        thread->newest = date;
+       if (sort != NOTMUCH_SORT_OLDEST_FIRST)
+           _thread_set_subject_from_message (thread, message);
+    }
 
     thread->matched_messages++;
 
@@ -306,12 +310,6 @@ _thread_add_matched_message (notmuch_thread_t *thread,
     }
 
     _thread_add_matched_author (thread, notmuch_message_get_author (hashed_message));
-
-    if ((sort == NOTMUCH_SORT_OLDEST_FIRST && date <= thread->newest) ||
-       (sort != NOTMUCH_SORT_OLDEST_FIRST && date == thread->newest))
-    {
-       _thread_set_subject_from_message (thread, message);
-    }
 }
 
 static void