aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-12-07 16:26:38 -0800
committerCarl Worth <cworth@cworth.org>2010-12-07 16:27:03 -0800
commita4ce6cfbc63c53934c4c06f1b00ffef1c560b3b5 (patch)
treed4de624f28dda1c8a8f927777fc3b873bb9e1176
parentda805c4cdb4277cac089f0a1ef7d006abdf3b78d (diff)
lib: Set thread subject at the same time as setting thread->{oldest,newest}
We really want to change the thread subject at the same time we set the date, (if the sort order indicates this is necessary). The previous code for setting the thread subject was sensitive on the query sort when adding matching messages. An independent bug fix is about to change that query sort order, so we remove the dependency on it here.
-rw-r--r--lib/thread.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/thread.cc b/lib/thread.cc
index 7f15586..3738baa 100644
--- a/lib/thread.cc
+++ b/lib/thread.cc
@@ -288,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++;
@@ -304,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