[evolution/wip/gsettings] Bug #648468 - Disconnect service after mail fetching is done



commit d5fa5311aa55047f8922f5e706f30458c6290369
Author: Milan Crha <mcrha redhat com>
Date:   Tue Jun 21 12:29:33 2011 +0200

    Bug #648468 - Disconnect service after mail fetching is done

 mail/mail-ops.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)
---
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 85805ff..0b3e27d 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -214,6 +214,7 @@ fetch_mail_exec (struct _fetch_mail_msg *m,
 	CamelFolder *folder = NULL;
 	CamelURL *url;
 	const gchar *uid;
+	gboolean is_local_delivery;
 	gint i;
 
 	fm->destination = e_mail_local_get_folder (
@@ -223,7 +224,8 @@ fetch_mail_exec (struct _fetch_mail_msg *m,
 	g_object_ref (fm->destination);
 
 	url = camel_service_get_camel_url (CAMEL_SERVICE (m->store));
-	if (em_utils_is_local_delivery_mbox_file (url)) {
+	is_local_delivery = em_utils_is_local_delivery_mbox_file (url);
+	if (is_local_delivery) {
 		gchar *path;
 		gchar *url_string;
 
@@ -333,6 +335,11 @@ fail:
 		g_object_unref (fm->driver);
 		fm->driver = NULL;
 	}
+
+	/* also disconnect if not a local delivery mbox;
+	   there is no need to keep the connection alive forever */
+	if (!is_local_delivery)
+		camel_service_disconnect_sync (CAMEL_SERVICE (m->store), TRUE, NULL);
 }
 
 static void



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