aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/message-list.c10
2 files changed, 11 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 4e3674b19e..cc3a3d2e36 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,10 @@
2000-06-02 Christopher James Lahey <clahey@helixcode.com>
+ * message-list.c: Use camel_folder_free_summary instead of
+ g_ptr_array_free. Unref the folder when we're done with it.
+
+2000-06-02 Christopher James Lahey <clahey@helixcode.com>
+
* session.c: Revert removal of e_setup_base_dir.
2000-06-02 Dan Winship <danw@helixcode.com>
diff --git a/mail/message-list.c b/mail/message-list.c
index c20f74bc33..ddba5e04ad 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -686,7 +686,7 @@ message_list_destroy (GtkObject *object)
if (message_list->summary_search_cache)
g_ptr_array_free(message_list->summary_search_cache, TRUE);
if (message_list->summary_table)
- g_ptr_array_free(message_list->summary_table, TRUE);
+ camel_folder_free_summary(message_list->folder, message_list->summary_table);
for (i = 0; i < COL_LAST; i++)
gtk_object_unref (GTK_OBJECT (message_list->table_cols [i]));
@@ -694,6 +694,8 @@ message_list_destroy (GtkObject *object)
if (message_list->idle_id != 0)
g_source_remove(message_list->idle_id);
+ gtk_object_unref (GTK_OBJECT (message_list->folder));
+
GTK_OBJECT_CLASS (message_list_parent_class)->destroy (object);
}
@@ -864,8 +866,7 @@ message_list_set_folder (MessageList *message_list, CamelFolder *camel_folder)
}
if (message_list->summary_table)
- g_ptr_array_free(message_list->summary_table, TRUE);
- message_list->summary_table = NULL;
+ camel_folder_free_summary(message_list->folder, message_list->summary_table);
camel_exception_init (&ex);
@@ -909,7 +910,8 @@ message_list_set_folder (MessageList *message_list, CamelFolder *camel_folder)
gtk_object_ref (GTK_OBJECT (camel_folder));
message_list->summary_table = camel_folder_get_summary (message_list->folder, NULL);
- e_table_model_changed (message_list->table_model);
+
+ message_list_set_search(message_list, message_list->search);
select_msg (message_list, 0);
}