Commit 2bbd4bae authored by Milan Crha's avatar Milan Crha
Browse files

Do not empty trash/delete junk in disabled accounts on exit

parent ae6344a2
......@@ -258,6 +258,7 @@ mail_backend_delete_junk (CamelService *service,
camel_folder_thaw (folder);
camel_folder_free_uids (folder, uids);
g_object_unref (folder);
/* Helper for mail_backend_prepare_for_quit_cb() */
......@@ -277,17 +278,43 @@ mail_backend_ready_to_quit (EActivity *activity)
g_object_unref (activity);
static gboolean
mail_backend_service_is_enabled (ESourceRegistry *registry,
CamelService *service)
const gchar *uid;
ESource *source;
gboolean enabled;
g_return_val_if_fail (registry != NULL, FALSE);
g_return_val_if_fail (service != NULL, FALSE);
uid = camel_service_get_uid (service);
g_return_val_if_fail (uid != NULL, FALSE);
source = e_source_registry_ref_source (registry, uid);
if (!source)
return FALSE;
enabled = e_source_registry_check_enabled (registry, source);
g_object_unref (source);
return enabled;
static void
mail_backend_prepare_for_quit_cb (EShell *shell,
EActivity *activity,
EMailBackend *backend)
EMailSession *session;
ESourceRegistry *registry;
GList *list, *link;
gboolean delete_junk;
gboolean empty_trash;
session = e_mail_backend_get_session (backend);
registry = e_shell_get_registry (shell);
delete_junk = e_mail_backend_delete_junk_policy_decision (backend);
empty_trash = e_mail_backend_empty_trash_policy_decision (backend);
......@@ -307,7 +334,8 @@ mail_backend_prepare_for_quit_cb (EShell *shell,
service = CAMEL_SERVICE (link->data);
if (!CAMEL_IS_STORE (service))
if (!CAMEL_IS_STORE (service) ||
!mail_backend_service_is_enabled (registry, service))
mail_backend_delete_junk (service, backend);
......@@ -319,7 +347,8 @@ mail_backend_prepare_for_quit_cb (EShell *shell,
service = CAMEL_SERVICE (link->data);
if (!CAMEL_IS_STORE (service))
if (!CAMEL_IS_STORE (service) ||
!mail_backend_service_is_enabled (registry, service))
/* FIXME Not passing a GCancellable. */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment