[evolution/email-factory-3-4: 17/47] Bug #662929 - POP3 prevents expunge of local Inbox in offline



commit a5da4fd83af5f2f5b4170c62388a8aa3a0f1a005
Author: Srinivasa Ragavan <sragavan gnome org>
Date:   Thu Nov 17 13:32:05 2011 +0530

        Bug #662929 - POP3 prevents expunge of local Inbox in offline

 libemail-engine/mail-ops.c |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)
---
diff --git a/libemail-engine/mail-ops.c b/libemail-engine/mail-ops.c
index d0abd9c..63ae92f 100644
--- a/libemail-engine/mail-ops.c
+++ b/libemail-engine/mail-ops.c
@@ -1400,7 +1400,26 @@ expunge_pop3_stores (CamelFolder *expunging,
 		    account->source && account->source->url &&
 		    g_str_has_prefix (account->source->url, "pop://")) {
 			CamelFolder *folder;
-			gboolean any_found = FALSE;
+			CamelService *service;
+			CamelSettings *settings;
+			gboolean any_found = FALSE, delete_expunged = FALSE, keep_on_server = FALSE;
+
+			service = camel_session_get_service (CAMEL_SESSION (session), account->uid);
+			if (!CAMEL_IS_STORE (service))
+				continue;
+
+			settings = camel_service_get_settings (service);
+			if (!settings)
+				continue;
+
+			g_object_get (
+				settings,
+				"delete-expunged", &delete_expunged,
+				"keep-on-server", &keep_on_server,
+				NULL);
+
+			if (!keep_on_server || !delete_expunged)
+				continue;
 
 			folder = e_mail_session_get_inbox_sync (
 				session, account->uid, cancellable, error);



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