diff options
author | Milan Crha <mcrha@redhat.com> | 2010-12-15 22:53:03 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-06-30 00:41:11 +0800 |
commit | 09ae89206ea119104dfece5176cc868175ce9304 (patch) | |
tree | 635bc30528cb19eb3df327c3e27859285d693445 | |
parent | 4231716442dc6bca34a563a17c068d126b37ea7c (diff) | |
download | gsoc2013-evolution-09ae89206ea119104dfece5176cc868175ce9304.tar gsoc2013-evolution-09ae89206ea119104dfece5176cc868175ce9304.tar.gz gsoc2013-evolution-09ae89206ea119104dfece5176cc868175ce9304.tar.bz2 gsoc2013-evolution-09ae89206ea119104dfece5176cc868175ce9304.tar.lz gsoc2013-evolution-09ae89206ea119104dfece5176cc868175ce9304.tar.xz gsoc2013-evolution-09ae89206ea119104dfece5176cc868175ce9304.tar.zst gsoc2013-evolution-09ae89206ea119104dfece5176cc868175ce9304.zip |
Bug #634385 - Crash in smtp_connect
-rw-r--r-- | mail/e-mail-session-utils.c | 6 | ||||
-rw-r--r-- | mail/e-mail-session.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/mail/e-mail-session-utils.c b/mail/e-mail-session-utils.c index 0df301f67f..f91bc73455 100644 --- a/mail/e-mail-session-utils.c +++ b/mail/e-mail-session-utils.c @@ -650,8 +650,12 @@ e_mail_session_send_to (EMailSession *session, } if (account != NULL) { - if (account->transport != NULL) + if (account->transport != NULL) { transport_uri = g_strdup (account->transport->url); + + /* to reprompt password on sending if needed */ + account->transport->get_password_canceled = FALSE; + } sent_folder_uri = g_strdup (account->sent_folder_uri); } diff --git a/mail/e-mail-session.c b/mail/e-mail-session.c index debaf28cea..68d553e97d 100644 --- a/mail/e-mail-session.c +++ b/mail/e-mail-session.c @@ -626,6 +626,9 @@ mail_session_get_password (CamelSession *session, if (ret == NULL || (flags & CAMEL_SESSION_PASSWORD_REPROMPT)) { gboolean remember; + g_free (ret); + ret = NULL; + if (url) { if ((account = e_get_account_by_source_url (url))) config_service = account->source; @@ -674,6 +677,9 @@ mail_session_get_password (CamelSession *session, ret = e_passwords_ask_password (title, domain, key, prompt, eflags, &remember, NULL); + if (!ret) + e_passwords_forget_password (domain, key); + g_free (title); if (ret && config_service) |