aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog8
-rw-r--r--camel/camel-folder-thread.c9
2 files changed, 16 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index c3f6c2de8b..a7da8cda01 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,11 @@
+2001-02-02 Not Zed <NotZed@Ximian.com>
+
+ * camel-folder-thread.c (camel_folder_thread_messages_new): When
+ we drop a fake node, dont skip checking the next in the list.
+ (camel_folder_thread_messages_new): Add an assertion check just to
+ make sure we dont get any pseudo nodes, and spit a warning if we
+ do.
+
2001-02-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-stream-filter.c (do_write): Make do_write loop until the
diff --git a/camel/camel-folder-thread.c b/camel/camel-folder-thread.c
index 8f55452c98..af8872c619 100644
--- a/camel/camel-folder-thread.c
+++ b/camel/camel-folder-thread.c
@@ -554,13 +554,20 @@ camel_folder_thread_messages_new(CamelFolder *folder, GPtrArray *uids)
scan->next = newtop->next;
/* and link the now 'real' node into the list */
newtop->next = child->next;
- c = newtop->next;
+ c = newtop;
e_memchunk_free(thread->node_chunks, child);
} else {
c = child;
}
}
+ /* this is only debug assertion stuff */
+ c = (CamelFolderThreadNode *)&head;
+ while (c->next) {
+ c = c->next;
+ if (c->message == NULL)
+ g_warning("threading missed removing a pseudo node: %s\n", c->root_subject);
+ }
thread->tree = head;