From d91a0645f9f595cbfa953187c366dc569f5e8e41 Mon Sep 17 00:00:00 2001 From: 1 Date: Thu, 11 May 2000 17:05:04 +0000 Subject: Free summary items and charset filters. 2000-05-11 * camel-folder-summary.c (camel_folder_summary_finalise): Free summary items and charset filters. 2000-05-10 * camel-folder-summary.c (camel_folder_summary_finalise): Don't free stuff in p, after we've free'd p. * providers/mbox/camel-mbox-folder.c (mbox_append_message): Unref the stream we created for appending. svn path=/trunk/; revision=2986 --- camel/camel-folder-summary.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'camel/camel-folder-summary.c') diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c index bdca6e677c..516f9335bd 100644 --- a/camel/camel-folder-summary.c +++ b/camel/camel-folder-summary.c @@ -167,6 +167,12 @@ camel_folder_summary_init (CamelFolderSummary *s) s->messages_uid = g_hash_table_new(g_str_hash, g_str_equal); } +static void free_o_name(void *key, void *value, void *data) +{ + gtk_object_unref((GtkObject *)value); + g_free(key); +} + static void camel_folder_summary_finalise (GtkObject *obj) { @@ -175,14 +181,12 @@ camel_folder_summary_finalise (GtkObject *obj) p = _PRIVATE(obj); - /* FIXME: free contents */ + camel_folder_summary_clear(s); g_ptr_array_free(s->messages, TRUE); - g_hash_table_destroy(s->messages_uid); - /* FIXME: free contents */ + g_hash_table_foreach(p->filter_charset, free_o_name, 0); g_hash_table_destroy(p->filter_charset); - g_free(p); if (p->filter_index) gtk_object_unref ((GtkObject *)p->filter_index); @@ -193,6 +197,8 @@ camel_folder_summary_finalise (GtkObject *obj) if (p->filter_save) gtk_object_unref ((GtkObject *)p->filter_save); + g_free(p); + ((GtkObjectClass *)(camel_folder_summary_parent))->finalize((GtkObject *)obj); } -- cgit v1.2.3