[evolution] Bug 746395 - Let the provider store sent messages on its own
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Bug 746395 - Let the provider store sent messages on its own
- Date: Wed, 1 Apr 2015 15:35:47 +0000 (UTC)
commit 38232653f3b5c944f5d0d0e77bec98a09bb1b4ba
Author: Milan Crha <mcrha redhat com>
Date: Wed Apr 1 17:35:36 2015 +0200
Bug 746395 - Let the provider store sent messages on its own
libemail-engine/e-mail-session-utils.c | 5 +++--
libemail-engine/mail-ops.c | 5 +++--
2 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/libemail-engine/e-mail-session-utils.c b/libemail-engine/e-mail-session-utils.c
index 8a8e96c..63b49f6 100644
--- a/libemail-engine/e-mail-session-utils.c
+++ b/libemail-engine/e-mail-session-utils.c
@@ -521,6 +521,7 @@ mail_session_send_to_thread (GSimpleAsyncResult *simple,
CamelServiceConnectionStatus status;
GString *error_messages;
gboolean copy_to_sent = TRUE;
+ gboolean sent_message_saved = FALSE;
gboolean did_connect = FALSE;
guint ii;
GError *error = NULL;
@@ -582,7 +583,7 @@ mail_session_send_to_thread (GSimpleAsyncResult *simple,
camel_transport_send_to_sync (
CAMEL_TRANSPORT (context->transport),
context->message, context->from,
- context->recipients, cancellable, &error);
+ context->recipients, &sent_message_saved, cancellable, &error);
if (did_connect) {
/* Disconnect regardless of error or cancellation,
@@ -674,7 +675,7 @@ skip_send:
copy_to_sent = FALSE;
}
- if (!copy_to_sent)
+ if (!copy_to_sent || sent_message_saved)
goto cleanup;
/* Append the sent message to a Sent folder. */
diff --git a/libemail-engine/mail-ops.c b/libemail-engine/mail-ops.c
index 8e6484d..a2a3081 100644
--- a/libemail-engine/mail-ops.c
+++ b/libemail-engine/mail-ops.c
@@ -607,6 +607,7 @@ mail_send_message (struct _send_queue_msg *m,
gint i;
GError *local_error = NULL;
gboolean did_connect = FALSE;
+ gboolean sent_message_saved = FALSE;
message = camel_folder_get_message_sync (
queue, uid, cancellable, error);
@@ -695,7 +696,7 @@ mail_send_message (struct _send_queue_msg *m,
if (!camel_transport_send_to_sync (
CAMEL_TRANSPORT (service), message,
- from, recipients, cancellable, error))
+ from, recipients, &sent_message_saved, cancellable, error))
goto exit;
}
@@ -759,7 +760,7 @@ mail_send_message (struct _send_queue_msg *m,
}
}
- if (local_error == NULL && (provider == NULL
+ if (local_error == NULL && !sent_message_saved && (provider == NULL
|| !(provider->flags & CAMEL_PROVIDER_DISABLE_SENT_FOLDER))) {
CamelFolder *local_sent_folder;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]