aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2010-12-15 22:53:03 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-06-30 00:41:11 +0800
commit09ae89206ea119104dfece5176cc868175ce9304 (patch)
tree635bc30528cb19eb3df327c3e27859285d693445
parent4231716442dc6bca34a563a17c068d126b37ea7c (diff)
downloadgsoc2013-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.c6
-rw-r--r--mail/e-mail-session.c6
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)