diff options
Diffstat (limited to 'mail/em-folder-view.c')
-rw-r--r-- | mail/em-folder-view.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index b5222f7b6c..71e24a3d40 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -203,16 +203,6 @@ emfv_finalise(GObject *o) EMFolderView *emfv = (EMFolderView *)o; struct _EMFolderViewPrivate *p = emfv->priv; - if (emfv->async) - mail_async_event_destroy(emfv->async); - - if (emfv->folder) { - if (p->folder_changed_id) - camel_object_remove_event(emfv->folder, p->folder_changed_id); - camel_object_unref(emfv->folder); - g_free(emfv->folder_uri); - } - g_slist_free(emfv->ui_files); g_slist_free(emfv->enable_map); @@ -240,6 +230,20 @@ emfv_destroy (GtkObject *o) g_object_unref(gconf); } + if (emfv->folder) { + if (p->folder_changed_id) + camel_object_remove_event(emfv->folder, p->folder_changed_id); + camel_object_unref(emfv->folder); + g_free(emfv->folder_uri); + emfv->folder = NULL; + emfv->folder_uri = NULL; + } + + if (emfv->async) { + mail_async_event_destroy(emfv->async); + emfv->async = NULL; + } + if (p->invisible) { g_object_unref(p->invisible); p->invisible = NULL; |