aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2012-07-07 20:22:44 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-07-07 20:22:44 +0800
commit9e270dd4ed8d7da9dbb517220c2352ce3c651635 (patch)
tree6296e08b781a8e071018f3780f54a703f7acdb96 /mail
parent73a55d4cc53e7c679f410dab3a79469ad1b78e5c (diff)
downloadgsoc2013-evolution-9e270dd4ed8d7da9dbb517220c2352ce3c651635.tar.gz
gsoc2013-evolution-9e270dd4ed8d7da9dbb517220c2352ce3c651635.tar.zst
gsoc2013-evolution-9e270dd4ed8d7da9dbb517220c2352ce3c651635.zip
Bug 677885 - Deleting account is chatty on console
Diffstat (limited to 'mail')
-rw-r--r--mail/e-mail-account-store.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/mail/e-mail-account-store.c b/mail/e-mail-account-store.c
index c7afce32d4..8b8b6fc63a 100644
--- a/mail/e-mail-account-store.c
+++ b/mail/e-mail-account-store.c
@@ -1201,8 +1201,14 @@ e_mail_account_store_remove_service (EMailAccountStore *store,
g_return_if_fail (E_IS_MAIL_ACCOUNT_STORE (store));
g_return_if_fail (CAMEL_IS_SERVICE (service));
+ /* XXX Our service_removed() class method calls e_source_remove(),
+ * which causes the registry service to emit a "source-removed"
+ * signal. But since other applications may also induce signal
+ * emissions from the registry service, EMailUISession handles
+ * "source-removed" by calling this function. So quietly break
+ * the cycle if we don't find the service in our tree model. */
if (!mail_account_store_get_iter (store, service, &iter))
- g_return_if_reached ();
+ return;
/* If no parent window was given, skip the request signal. */
if (GTK_IS_WINDOW (parent_window))