/* Check errors */
status = modest_mail_operation_get_status (mail_op);
- if (status != MODEST_MAIL_OPERATION_STATUS_SUCCESS) {
+ if (status == MODEST_MAIL_OPERATION_STATUS_CANCELED) {
+ g_warning ("%s: operation canceled \n", __FUNCTION__);
+ } else if (status != MODEST_MAIL_OPERATION_STATUS_SUCCESS) {
/* This is a sanity check. Shouldn't be needed, but
prevent possible application crashes. It's useful
also for detecting mail operations with invalid
if (modest_mail_operation_get_error (mail_op) != NULL) {
modest_mail_operation_execute_error_handler (mail_op);
} else {
- if (status == MODEST_MAIL_OPERATION_STATUS_CANCELED)
- g_warning ("%s: operation canceled \n", __FUNCTION__);
- else
- g_warning ("%s: possible error in a mail operation " \
- "implementation. The status is not successful " \
- "but the mail operation does not have any " \
- "error set\n", __FUNCTION__);
+ g_warning ("%s: possible error in a mail operation " \
+ "implementation. The status is not successful " \
+ "but the mail operation does not have any " \
+ "error set\n", __FUNCTION__);
}
}
finished = (priv->done == priv->total) ? TRUE : FALSE;
}
- /* Check errors */
- if (canceled || err) {
+ /* If canceled by the user, ignore the error given by Tinymail */
+ if (priv->status == MODEST_MAIL_OPERATION_STATUS_CANCELED) {
+ canceled = TRUE;
+ finished = TRUE;
+ } else if (canceled || err) {
priv->status = MODEST_MAIL_OPERATION_STATUS_FINISHED_WITH_ERRORS;
if (err) {
priv->error = g_error_copy ((const GError *) err);
} else if (finished && priv->status == MODEST_MAIL_OPERATION_STATUS_IN_PROGRESS) {
/* Set the success status before calling the user callback */
priv->status = MODEST_MAIL_OPERATION_STATUS_SUCCESS;
- } else if (priv->status == MODEST_MAIL_OPERATION_STATUS_CANCELED) {
- canceled = TRUE;
- finished = TRUE;
}