summaryrefslogtreecommitdiffstats
path: root/thread.c
diff options
context:
space:
mode:
authorThomas Roessler <roessler@does-not-exist.org>2001-11-07 10:21:44 +0000
committerThomas Roessler <roessler@does-not-exist.org>2001-11-07 10:21:44 +0000
commit6b7e1f6fd8c92fcd992600b044af8329f1f8a31a (patch)
treea6b8b14699b90457f1346225ce6dbb3de3bc6f26 /thread.c
parente0819e53fb06dc19154850830bac9cb2797cdcbe (diff)
patch-1.3.23.1-de-new_threads.2-3
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/thread.c b/thread.c
index 21dd9601..3047519b 100644
--- a/thread.c
+++ b/thread.c
@@ -644,8 +644,10 @@ void mutt_sort_threads (CONTEXT *ctx, int init)
if (!cur->thread)
{
- thread = new = (cur->env->message_id
- ? hash_find (ctx->thread_hash, cur->env->message_id) : NULL);
+ thread = (((!init || option (OPTDUPTHREADS)) && cur->env->message_id)
+ ? hash_find (ctx->thread_hash, cur->env->message_id) : NULL);
+
+ new = (option (OPTDUPTHREADS) ? thread : NULL);
if (thread && !thread->message)
{
@@ -654,7 +656,7 @@ void mutt_sort_threads (CONTEXT *ctx, int init)
cur->thread = thread;
thread->check_subject = 1;
- /* mark descendants as needing subeject_changed checked */
+ /* mark descendants as needing subject_changed checked */
for (tmp = (thread->child ? thread->child : thread); tmp != thread; )
{
while (!tmp->message)