[evolution-data-server] imap_folder_dispose(): Disconnect the summary first.



commit 96eec294df8694c7fefaf340582e9abfd7eeb933
Author: Matthew Barnes <mbarnes redhat com>
Date:   Fri Jan 6 12:16:57 2012 -0500

    imap_folder_dispose(): Disconnect the summary first.
    
    Disconnect the folder summary before destroying any internal members,
    since disconnecting may take awhile to run.

 camel/providers/imap/camel-imap-folder.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index 6464872..0b19e25 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -189,6 +189,13 @@ imap_folder_dispose (GObject *object)
 
 	imap_folder = CAMEL_IMAP_FOLDER (object);
 
+	parent_store = camel_folder_get_parent_store (CAMEL_FOLDER (imap_folder));
+	if (parent_store) {
+		camel_store_summary_disconnect_folder_summary (
+			(CamelStoreSummary *) ((CamelImapStore *) parent_store)->summary,
+			CAMEL_FOLDER (imap_folder)->summary);
+	}
+
 	if (imap_folder->search != NULL) {
 		g_object_unref (imap_folder->search);
 		imap_folder->search = NULL;
@@ -210,13 +217,6 @@ imap_folder_dispose (GObject *object)
 		imap_folder->journal = NULL;
 	}
 
-	parent_store = camel_folder_get_parent_store (CAMEL_FOLDER (imap_folder));
-	if (parent_store) {
-		camel_store_summary_disconnect_folder_summary (
-			(CamelStoreSummary *) ((CamelImapStore *) parent_store)->summary,
-			CAMEL_FOLDER (imap_folder)->summary);
-	}
-
 	/* Chain up to parent's dispose() method. */
 	G_OBJECT_CLASS (camel_imap_folder_parent_class)->dispose (object);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]