From 5558b39bb31d52e6ced2ac0116e017e4493b0c57 Mon Sep 17 00:00:00 2001 From: Jose Dapena Paz Date: Wed, 1 Aug 2007 17:21:39 +0000 Subject: [PATCH] * src/maemo/modest-msg-edit-window.c: * A missing else was breaking save to drafts deletion of old draft. * src/modest-mail-operation.c: * Now save to drafts first adds the new message, and then removes the old one. * Now save to drafts folder sync is asynchronous. pmo-trunk-r2898 --- src/maemo/modest-msg-edit-window.c | 3 +-- src/modest-mail-operation.c | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/maemo/modest-msg-edit-window.c b/src/maemo/modest-msg-edit-window.c index c9e924c..77e9e93 100644 --- a/src/maemo/modest-msg-edit-window.c +++ b/src/maemo/modest-msg-edit-window.c @@ -1270,8 +1270,7 @@ modest_msg_edit_window_get_msg_data (ModestMsgEditWindow *edit_window) data->subject = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->subject_field))); if (priv->draft_msg) { data->draft_msg = g_object_ref (priv->draft_msg); - } - if (priv->outbox_msg) { + } else if (priv->outbox_msg) { data->draft_msg = g_object_ref (priv->outbox_msg); } else { data->draft_msg = NULL; diff --git a/src/modest-mail-operation.c b/src/modest-mail-operation.c index 3e1ef15..2fde491 100644 --- a/src/modest-mail-operation.c +++ b/src/modest-mail-operation.c @@ -824,21 +824,21 @@ modest_mail_operation_save_to_drafts_cb (ModestMailOperation *self, goto end; } - if (info->draft_msg != NULL) { + if (!priv->error) + tny_folder_add_msg (folder, msg, &(priv->error)); + + if ((!priv->error) && (info->draft_msg != NULL)) { header = tny_msg_get_header (info->draft_msg); src_folder = tny_header_get_folder (header); /* Remove the old draft expunging it */ tny_folder_remove_msg (src_folder, header, NULL); tny_header_set_flags (header, TNY_HEADER_FLAG_DELETED); tny_header_set_flags (header, TNY_HEADER_FLAG_SEEN); - tny_folder_sync (src_folder, TRUE, &(priv->error)); /* expunge */ + tny_folder_sync_async (src_folder, TRUE, NULL, NULL, NULL); /* expunge */ g_object_unref (header); } if (!priv->error) - tny_folder_add_msg (folder, msg, &(priv->error)); - - if (!priv->error) priv->status = MODEST_MAIL_OPERATION_STATUS_SUCCESS; else priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED; -- 1.7.9.5