X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-mail-operation.c;h=0caffc3a6c9381d9b2f2481373b78a6d979bdfe4;hp=ff0b2e39869da834b7e3bf59d259702975cc2801;hb=a38f50af4c0747976ed5d869e50cb46f29e3bb8a;hpb=c48710f6ec77e4ac1ec76f92a2367839b19adea3 diff --git a/src/modest-mail-operation.c b/src/modest-mail-operation.c index ff0b2e3..0caffc3 100644 --- a/src/modest-mail-operation.c +++ b/src/modest-mail-operation.c @@ -783,7 +783,6 @@ modest_mail_operation_send_new_mail_cb (ModestMailOperation *self, TnyFolder *draft_folder = NULL; TnyFolder *outbox_folder = NULL; TnyHeader *header = NULL; - GError *err = NULL; if (!msg) { goto end; @@ -801,6 +800,7 @@ modest_mail_operation_send_new_mail_cb (ModestMailOperation *self, modest_mail_operation_send_mail (self, info->transport_account, msg); if (info->draft_msg != NULL) { + TnyList *tmp_headers = NULL; TnyFolder *folder = NULL; TnyFolder *src_folder = NULL; TnyFolderType folder_type; @@ -844,11 +844,12 @@ modest_mail_operation_send_new_mail_cb (ModestMailOperation *self, src_folder = draft_folder; /* Note: This can fail (with a warning) if the message is not really already in a folder, - * because this function requires it to have a UID. */ - tny_folder_remove_msg (src_folder, header, NULL); - - tny_folder_sync (folder, TRUE, &err); /* FALSE --> don't expunge */ -/* tny_folder_sync_async (src_folder, TRUE, NULL, NULL, NULL); /\* expunge *\/ */ + * because this function requires it to have a UID. */ + tmp_headers = tny_simple_list_new (); + tny_list_append (tmp_headers, (GObject*) header); + tny_folder_remove_msgs_async (src_folder, tmp_headers, NULL, NULL, NULL); + g_object_unref (tmp_headers); + tny_folder_sync_async (src_folder, TRUE, NULL, NULL, NULL); /* expunge */ g_object_unref (folder); } @@ -856,8 +857,6 @@ modest_mail_operation_send_new_mail_cb (ModestMailOperation *self, end: if (header) g_object_unref (header); - if (err != NULL) - g_error_free(err); if (info->draft_msg) g_object_unref (info->draft_msg); if (draft_folder) @@ -2110,10 +2109,11 @@ modest_mail_operation_rename_folder (ModestMailOperation *self, transfer_folder_cb, transfer_folder_status_cb, helper); + g_object_unref (into); } else { + g_object_unref (into); goto error; } - g_object_unref (into); return; } @@ -2235,9 +2235,10 @@ get_msg_async_cb (TnyFolder *folder, } /* If canceled by the user, ignore the error given by Tinymail */ - if (priv->status == MODEST_MAIL_OPERATION_STATUS_CANCELED || canceled) { + if (canceled) { canceled = TRUE; finished = TRUE; + priv->status == MODEST_MAIL_OPERATION_STATUS_CANCELED; } else if (err) { priv->status = MODEST_MAIL_OPERATION_STATUS_FINISHED_WITH_ERRORS; if (err) { @@ -2611,16 +2612,12 @@ transfer_msgs_cb (TnyFolder *folder, gboolean cancelled, GError *err, gpointer u priv = MODEST_MAIL_OPERATION_GET_PRIVATE (self); - if (err) { + if (cancelled) { + priv->status = MODEST_MAIL_OPERATION_STATUS_CANCELED; + } else if (err) { priv->error = g_error_copy (err); priv->done = 0; priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED; - } else if (cancelled) { - priv->status = MODEST_MAIL_OPERATION_STATUS_CANCELED; - g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR, - MODEST_MAIL_OPERATION_ERROR_ITEM_NOT_FOUND, - _("Error trying to refresh the contents of %s"), - tny_folder_get_name (folder)); } else if (priv->status != MODEST_MAIL_OPERATION_STATUS_CANCELED) { if (helper->more_msgs) { /* We'll transfer the next message in the list */ @@ -2635,7 +2632,6 @@ transfer_msgs_cb (TnyFolder *folder, gboolean cancelled, GError *err, gpointer u finished = FALSE; } } - if (finished) { priv->done = 1; priv->status = MODEST_MAIL_OPERATION_STATUS_SUCCESS; @@ -3064,7 +3060,9 @@ modest_mail_operation_sync_folder (ModestMailOperation *self, modest_mail_operation_notify_start (self); g_object_ref (self); - tny_folder_sync_async (folder, expunge, (TnyFolderCallback) sync_folder_finish_callback, NULL, self); + tny_folder_sync_async (folder, expunge, + (TnyFolderCallback) sync_folder_finish_callback, + NULL, self); } static void