File bnc-467659-error-send.diff of Package evolution
diff --git a/mail/mail-mt.c b/mail/mail-mt.c
index 2fa9969..99d691b 100644
--- a/mail/mail-mt.c
+++ b/mail/mail-mt.c
@@ -508,7 +508,7 @@ mail_msg_idle_cb (void)
static void
mail_msg_proxy (MailMsg *msg)
{
- if (msg->info->desc != NULL) {
+ if (msg->info->desc != NULL && msg->cancel) {
gchar *text = msg->info->desc (msg);
camel_operation_register (msg->cancel);
camel_operation_start (msg->cancel, "%s", text);
@@ -521,7 +521,7 @@ mail_msg_proxy (MailMsg *msg)
mail_disable_stop ();
}
- if (msg->info->desc != NULL) {
+ if (msg->info->desc != NULL && msg->cancel) {
camel_operation_end (msg->cancel);
camel_operation_unregister (msg->cancel);
MAIL_MT_LOCK (mail_msg_lock);
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 7c5f033..ad1ebb0 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -800,6 +800,12 @@ send_queue_done (struct _send_queue_msg *m)
m->done(m->destination, m->data);
}
+static gchar *
+send_queue_desc (struct _append_msg *m)
+{
+ return g_strdup (_("Sending message"));
+}
+
static void
send_queue_free (struct _send_queue_msg *m)
{
@@ -813,7 +819,7 @@ send_queue_free (struct _send_queue_msg *m)
static MailMsgInfo send_queue_info = {
sizeof (struct _send_queue_msg),
- (MailMsgDescFunc) NULL,
+ (MailMsgDescFunc) send_queue_desc,
(MailMsgExecFunc) send_queue_exec,
(MailMsgDoneFunc) send_queue_done,
(MailMsgFreeFunc) send_queue_free