diff options
author | Larry Ewing <lewing@ximian.com> | 2003-06-18 23:13:12 +0800 |
---|---|---|
committer | Larry Ewing <lewing@src.gnome.org> | 2003-06-18 23:13:12 +0800 |
commit | b48b984e101d7da85bcf1d808794fa95a7699208 (patch) | |
tree | 31e7e22db61f51b1bb2d33f7b34c4ced06cb4a98 | |
parent | 210029e16630bee1690ff1781385f3b8dbe3c38b (diff) | |
download | gsoc2013-evolution-b48b984e101d7da85bcf1d808794fa95a7699208.tar.gz gsoc2013-evolution-b48b984e101d7da85bcf1d808794fa95a7699208.tar.zst gsoc2013-evolution-b48b984e101d7da85bcf1d808794fa95a7699208.zip |
don't leak the summary when reloading it. Fixes a very large leak.
2003-06-13 Larry Ewing <lewing@ximian.com>
* 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
-rw-r--r-- | camel/ChangeLog | 6 | ||||
-rw-r--r-- | camel/camel-folder-thread.c | 6 |
2 files changed, 11 insertions, 1 deletions
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 <lewing@ximian.com> + + * 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 <NotZed@Ximian.com> * 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 |