From b48b984e101d7da85bcf1d808794fa95a7699208 Mon Sep 17 00:00:00 2001 From: Larry Ewing Date: Wed, 18 Jun 2003 15:13:12 +0000 Subject: don't leak the summary when reloading it. Fixes a very large leak. 2003-06-13 Larry Ewing * camel-folder-thread.c (camel_folder_thread_messages_apply): don't leak the summary when reloading it. Fixes a very large leak. svn path=/trunk/; revision=21465 --- camel/ChangeLog | 6 ++++++ camel/camel-folder-thread.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'camel') diff --git a/camel/ChangeLog b/camel/ChangeLog index 61d30384d2..340ca4fc4c 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,9 @@ +2003-06-13 Larry Ewing + + * camel-folder-thread.c (camel_folder_thread_messages_apply): + don't leak the summary when reloading it. Fixes a very large + leak. + 2003-06-17 Not Zed * camel-vee-folder.c (vee_folder_remove_folder): Calculate ranges diff --git a/camel/camel-folder-thread.c b/camel/camel-folder-thread.c index 9d5ecf2861..a67ab5d5b2 100644 --- a/camel/camel-folder-thread.c +++ b/camel/camel-folder-thread.c @@ -662,6 +662,10 @@ camel_folder_thread_messages_apply(CamelFolderThread *thread, GPtrArray *uids) g_ptr_array_add(all, info); g_hash_table_destroy(table); + + thread->tree = NULL; + e_memchunk_destroy(thread->node_chunks); + thread->node_chunks = e_memchunk_new(32, sizeof(CamelFolderThreadNode)); thread_summary(thread, all); g_ptr_array_free(thread->summary, TRUE); @@ -777,7 +781,7 @@ camel_folder_thread_messages_add(CamelFolderThread *thread, GPtrArray *summary) /* reset the tree, and rebuild fully */ thread->tree = NULL; e_memchunk_empty(thread->node_chunks); - thread_summary(thread, all, NULL); + thread_summary(thread, all); } static void -- cgit v1.2.3