aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2012-07-16 02:46:40 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-07-16 02:46:40 +0800
commita1d2eb47189ccc2109d3080505de4a0319d2f18c (patch)
tree2b2af318b1e35f87f1cee22e69cf319e77a2ee98
parentfe2961aa501364ac45c2ded6834d312112818073 (diff)
downloadgsoc2013-evolution-a1d2eb47189ccc2109d3080505de4a0319d2f18c.tar.gz
gsoc2013-evolution-a1d2eb47189ccc2109d3080505de4a0319d2f18c.tar.zst
gsoc2013-evolution-a1d2eb47189ccc2109d3080505de4a0319d2f18c.zip
EMailAccountStore: Check permissions before writing/removing sources.
-rw-r--r--mail/e-mail-account-store.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/mail/e-mail-account-store.c b/mail/e-mail-account-store.c
index 8b8b6fc63a..51ad51cd95 100644
--- a/mail/e-mail-account-store.c
+++ b/mail/e-mail-account-store.c
@@ -519,7 +519,7 @@ mail_account_store_service_removed (EMailAccountStore *store,
}
}
- if (source != NULL) {
+ if (source != NULL && e_source_get_removable (source)) {
store->priv->busy_count++;
g_object_notify (G_OBJECT (store), "busy");
@@ -568,7 +568,7 @@ mail_account_store_service_enabled (EMailAccountStore *store,
if (uid != NULL)
identity = e_source_registry_ref_source (registry, uid);
- if (identity != NULL) {
+ if (identity != NULL && e_source_get_writable (identity)) {
e_source_set_enabled (identity, TRUE);
store->priv->busy_count++;
@@ -598,7 +598,7 @@ mail_account_store_service_enabled (EMailAccountStore *store,
}
}
- if (source != NULL) {
+ if (source != NULL && e_source_get_writable (source)) {
e_source_set_enabled (source, TRUE);
store->priv->busy_count++;
@@ -649,7 +649,7 @@ mail_account_store_service_disabled (EMailAccountStore *store,
if (uid != NULL)
identity = e_source_registry_ref_source (registry, uid);
- if (identity != NULL) {
+ if (identity != NULL && e_source_get_writable (identity)) {
e_source_set_enabled (identity, FALSE);
store->priv->busy_count++;
@@ -679,7 +679,7 @@ mail_account_store_service_disabled (EMailAccountStore *store,
}
}
- if (source != NULL) {
+ if (source != NULL && e_source_get_writable (source)) {
e_source_set_enabled (source, FALSE);
store->priv->busy_count++;