aboutsummaryrefslogtreecommitdiffstats
path: root/libemail-engine/e-mail-session-utils.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2014-06-10 23:41:25 +0800
committerMilan Crha <mcrha@redhat.com>2014-06-10 23:43:04 +0800
commit25a66ff7f4610649e684b9395601ce092d72df97 (patch)
treef51d9c1611bd7f591160c10929ce8a808c0bffa9 /libemail-engine/e-mail-session-utils.c
parent9c7bc3fb7be052783b6b84e3efd01b112ef2018c (diff)
downloadgsoc2013-evolution-25a66ff7f4610649e684b9395601ce092d72df97.tar
gsoc2013-evolution-25a66ff7f4610649e684b9395601ce092d72df97.tar.gz
gsoc2013-evolution-25a66ff7f4610649e684b9395601ce092d72df97.tar.bz2
gsoc2013-evolution-25a66ff7f4610649e684b9395601ce092d72df97.tar.lz
gsoc2013-evolution-25a66ff7f4610649e684b9395601ce092d72df97.tar.xz
gsoc2013-evolution-25a66ff7f4610649e684b9395601ce092d72df97.tar.zst
gsoc2013-evolution-25a66ff7f4610649e684b9395601ce092d72df97.zip
Bug 678843 - May re-prompt password on message send
Follow-up fix, forgotten place to re-enable password prompt when sending message.
Diffstat (limited to 'libemail-engine/e-mail-session-utils.c')
-rw-r--r--libemail-engine/e-mail-session-utils.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/libemail-engine/e-mail-session-utils.c b/libemail-engine/e-mail-session-utils.c
index 524b09d771..cd5dd50c52 100644
--- a/libemail-engine/e-mail-session-utils.c
+++ b/libemail-engine/e-mail-session-utils.c
@@ -542,6 +542,26 @@ mail_session_send_to_thread (GSimpleAsyncResult *simple,
status = camel_service_get_connection_status (context->transport);
if (status != CAMEL_SERVICE_CONNECTED) {
+ EMailSession *session;
+ ESourceRegistry *registry;
+ ESource *source;
+
+ /* Make sure user will be asked for a password, in case he/she cancelled it */
+ session = E_MAIL_SESSION (camel_service_ref_session (context->transport));
+ registry = e_mail_session_get_registry (session);
+ source = e_source_registry_ref_source (registry, camel_service_get_uid (context->transport));
+ g_object_unref (session);
+
+ if (source) {
+ e_source_allow_auth_prompt_sync (source, cancellable, &error);
+ g_object_unref (source);
+
+ if (error) {
+ g_simple_async_result_take_error (simple, error);
+ return;
+ }
+ }
+
did_connect = TRUE;
camel_service_connect_sync (