diff options
-rw-r--r-- | mail/ChangeLog | 5 | ||||
-rw-r--r-- | mail/message-list.c | 9 |
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); |