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