From af690e79a1c7ec7caa2f9c661bd1bd3f709a3e30 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 26 Aug 2011 10:30:50 +0200 Subject: Bug #657310 - Crash when editing transport-only accounts --- mail/e-mail-store.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'mail/e-mail-store.c') diff --git a/mail/e-mail-store.c b/mail/e-mail-store.c index 873c47d33e..7c79e1ca54 100644 --- a/mail/e-mail-store.c +++ b/mail/e-mail-store.c @@ -275,12 +275,17 @@ e_mail_store_add_by_account (EMailSession *session, CamelService *service = NULL; CamelProvider *provider; CamelURL *url; - gboolean skip; + gboolean skip, transport_only; GError *error = NULL; g_return_val_if_fail (E_IS_MAIL_SESSION (session), NULL); g_return_val_if_fail (E_IS_ACCOUNT (account), NULL); + /* check whether it's transport-only accounts */ + transport_only = !account->source || !account->source->url || !*account->source->url; + if (transport_only) + goto handle_transport; + /* Load the service, but don't connect. Check its provider, * and if this belongs in the folder tree model, add it. */ @@ -326,6 +331,9 @@ handle_transport: } } + if (transport_only) + return NULL; + if (!CAMEL_IS_STORE (service)) goto fail; -- cgit v1.2.3