diff options
author | Lucian Langa <lucilanga@gnome.org> | 2011-05-25 04:47:35 +0800 |
---|---|---|
committer | Lucian Langa <lucilanga@gnome.org> | 2011-05-26 01:00:22 +0800 |
commit | b55d2fb1d85e029a29e2862a99a7cea9821d8277 (patch) | |
tree | b33396ccc39c0209c4ad8b328ab7820929b636a0 /mail/e-mail-store.c | |
parent | eb91ed9977ec15abc4481eeeffb581d772ef37ef (diff) | |
download | gsoc2013-evolution-b55d2fb1d85e029a29e2862a99a7cea9821d8277.tar.gz gsoc2013-evolution-b55d2fb1d85e029a29e2862a99a7cea9821d8277.tar.zst gsoc2013-evolution-b55d2fb1d85e029a29e2862a99a7cea9821d8277.zip |
Bug 651001 - Cannot send message from accounts not having a provider
Diffstat (limited to 'mail/e-mail-store.c')
-rw-r--r-- | mail/e-mail-store.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mail/e-mail-store.c b/mail/e-mail-store.c index 17ff7652ba..7a9c74cc8a 100644 --- a/mail/e-mail-store.c +++ b/mail/e-mail-store.c @@ -303,14 +303,20 @@ e_mail_store_add_by_account (EMailSession *session, * and if this belongs in the folder tree model, add it. */ provider = camel_provider_get (account->source->url, &error); - if (provider == NULL) - goto fail; + if (provider == NULL) { + /* In case we do not have a provider here, we handle + * the special case of having multiple mail identities + * eg. a dummy account having just SMTP server defined */ + goto handle_transport; + } service = camel_session_add_service ( CAMEL_SESSION (session), account->uid, account->source->url, CAMEL_PROVIDER_STORE, &error); +handle_transport: + if (account->transport) { /* While we're at it, add the account's transport to the * CamelSession. The transport's UID is a kludge for now. |