} else {
/* Add the msg to the queue */
modest_mail_operation_notify_start (self);
- modest_tny_send_queue_add (MODEST_TNY_SEND_QUEUE(send_queue),
- msg,
- &(priv->error));
-
- priv->status = MODEST_MAIL_OPERATION_STATUS_IN_PROGRESS;
info = g_slice_new0 (SendMsgInfo);
info->mail_op = g_object_ref (self);
info->msg = g_object_ref (msg);
info->msg_sent_handler = g_signal_connect (G_OBJECT (send_queue), "msg-sent",
- G_CALLBACK (send_mail_msg_sent_handler), info);
+ G_CALLBACK (send_mail_msg_sent_handler), info);
info->error_happened_handler = g_signal_connect (G_OBJECT (send_queue), "error-happened",
- G_CALLBACK (send_mail_error_happened_handler), info);
+ G_CALLBACK (send_mail_error_happened_handler), info);
+
+ modest_tny_send_queue_add (MODEST_TNY_SEND_QUEUE(send_queue),
+ msg,
+ &(priv->error));
+
+ priv->status = MODEST_MAIL_OPERATION_STATUS_IN_PROGRESS;
}
}
if (msgid2 == NULL) msgid2 = "(null)";
if (!strcmp (msgid1, msgid2)) {
+ if (error != NULL)
+ g_warning ("%s: %s\n", __FUNCTION__, error->message);
ModestMailOperationPrivate *priv = MODEST_MAIL_OPERATION_GET_PRIVATE (info->mail_op);
priv->status = MODEST_MAIL_OPERATION_STATUS_FAILED;
g_set_error (&(priv->error), MODEST_MAIL_OPERATION_ERROR,
if (!priv->error) {
gboolean expunge, leave_on_server;
const gchar *account_name;
+ const gchar *proto;
TnyAccount *account;
- ModestTransportStoreProtocol account_proto;
+ ModestTransportStoreProtocol account_proto = MODEST_PROTOCOL_TRANSPORT_STORE_UNKNOWN;
account = tny_folder_get_account (folder);
account_name = modest_tny_account_get_parent_modest_account_name_for_server_account (account);
modest_account_mgr_get_leave_on_server (modest_runtime_get_account_mgr (),
account_name);
- account_proto = modest_protocol_info_get_transport_store_protocol (tny_account_get_proto (account));
+ proto = tny_account_get_proto (account);
+ if (proto) {
+ account_proto = modest_protocol_info_get_transport_store_protocol (proto);
+ }
if (((account_proto == MODEST_PROTOCOL_STORE_POP) && !leave_on_server) ||
modest_tny_folder_is_remote_folder (folder) == FALSE)
tny_iterator_next (iter);
}
-
}