/* Remove old mail from its source folder */
draft_folder = modest_tny_account_get_special_folder (TNY_ACCOUNT (info->transport_account),
TNY_FOLDER_TYPE_DRAFTS);
+ if (!draft_folder) {
+ g_warning ("%s: modest_tny_account_get_special_folder(..) returned a NULL drafts folder", __FUNCTION__);
+ goto end;
+ }
outbox_folder = modest_tny_account_get_special_folder (TNY_ACCOUNT (info->transport_account),
TNY_FOLDER_TYPE_OUTBOX);
+ if (!outbox_folder) {
+ g_warning ("%s: modest_tny_account_get_special_folder(..) returned a NULL outbox folder", __FUNCTION__);
+ goto end;
+ }
if (info->draft_msg != NULL) {
TnyFolder *folder = NULL;
TnyFolder *src_folder = NULL;
priv = MODEST_MAIL_OPERATION_GET_PRIVATE(self);
if (!msg) {
- g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR,
- MODEST_MAIL_OPERATION_ERROR_INSTANCE_CREATION_FAILED,
- "modest: failed to create a new msg\n");
+ if (!(priv->error)) {
+ g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR,
+ MODEST_MAIL_OPERATION_ERROR_INSTANCE_CREATION_FAILED,
+ "modest: failed to create a new msg\n");
+ }
} else {
drafts = modest_tny_account_get_special_folder (TNY_ACCOUNT (info->transport_account),
TNY_FOLDER_TYPE_DRAFTS);
- if (!drafts) {
+ if (!drafts && !(priv->error)) {
g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR,
MODEST_MAIL_OPERATION_ERROR_ITEM_NOT_FOUND,
"modest: failed to create a new msg\n");
/* Add pending call */
info->pending_calls++;
- tny_folder_store_get_folders_async (folder, folders, recurse_folders_async_cb,
- NULL, NULL, info);
+ tny_folder_store_get_folders_async (folder, folders, NULL,
+ recurse_folders_async_cb,
+ NULL, info);
g_object_unref (G_OBJECT (folder));
TNY_FOLDER_STORE (trash_folder),
TRUE, NULL, NULL);
g_object_unref (trash_folder);
+ } else {
+ g_warning ("%s: modest_tny_account_get_special_folder(..) returned a NULL trash folder", __FUNCTION__);
}
} else {
TnyFolderStore *parent = tny_folder_get_folder_store (folder);
TnyIterator *iter = NULL;
g_return_if_fail (MODEST_IS_MAIL_OPERATION (self));
-
+
/* Init mail operation */
priv = MODEST_MAIL_OPERATION_GET_PRIVATE (self);
priv->status = MODEST_MAIL_OPERATION_STATUS_IN_PROGRESS;
if (notify)
notify (user_data);
}
+
}