aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/message-list.c9
2 files changed, 9 insertions, 5 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 2ab006a650..819301769a 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,10 @@
2002-07-22 Not Zed <NotZed@Ximian.com>
+ * message-list.c (regen_list_regened): Remove the assert, and
+ always copy over the threadtree which represents the current view,
+ unreffing the old one if set. For #28021. Haven't tested this a
+ lot, but i guess it cant be worse than what is there.
+
* mail-vfolder.c (store_folder_renamed): When renaming, use
full_name to set the folder, not name, so the path is preserved.
diff --git a/mail/message-list.c b/mail/message-list.c
index 3175c4e5b1..ddfbe0b465 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -2691,11 +2691,10 @@ regen_list_regened (struct _mail_msg *mm)
if (m->dotree) {
build_tree (m->ml, m->tree, m->changes);
- g_assert(m->ml->thread_tree == NULL || m->ml->thread_tree == m->tree);
- if (m->ml->thread_tree == NULL) {
- m->ml->thread_tree = m->tree;
- m->tree = NULL;
- }
+ if (m->ml->thread_tree)
+ camel_folder_thread_messages_unref(m->ml->thread_tree);
+ m->ml->thread_tree = m->tree;
+ m->tree = NULL;
} else
build_flat (m->ml, m->summary, m->changes);