|
|
5e6360 |
diff -up evolution-data-server-3.12.11/camel/providers/imapx/camel-imapx-server.c.imapx-expunge-processing evolution-data-server-3.12.11/camel/providers/imapx/camel-imapx-server.c
|
|
|
5e6360 |
--- evolution-data-server-3.12.11/camel/providers/imapx/camel-imapx-server.c.imapx-expunge-processing 2015-01-05 16:33:18.000000000 +0100
|
|
|
5e6360 |
+++ evolution-data-server-3.12.11/camel/providers/imapx/camel-imapx-server.c 2015-05-21 12:11:37.466409336 +0200
|
|
|
5e6360 |
@@ -1930,6 +1930,13 @@ imapx_untagged_expunge (CamelIMAPXServer
|
|
|
5e6360 |
if (job != NULL)
|
|
|
5e6360 |
return TRUE;
|
|
|
5e6360 |
|
|
|
5e6360 |
+ job = imapx_match_active_job (is, IMAPX_JOB_COPY_MESSAGE, NULL);
|
|
|
5e6360 |
+ /* Ignore EXPUNGE responses when not running a COPY(MOVE)_MESSAGE job */
|
|
|
5e6360 |
+ if (!job) {
|
|
|
5e6360 |
+ c (is->tagprefix, "ignoring untagged expunge: %lu\n", is->priv->context->id);
|
|
|
5e6360 |
+ return TRUE;
|
|
|
5e6360 |
+ }
|
|
|
5e6360 |
+
|
|
|
5e6360 |
c (is->tagprefix, "expunged: %lu\n", is->priv->context->id);
|
|
|
5e6360 |
|
|
|
5e6360 |
g_mutex_lock (&is->priv->select_lock);
|
|
|
5e6360 |
@@ -5476,6 +5483,14 @@ imapx_job_copy_messages_start (CamelIMAP
|
|
|
5e6360 |
return imapx_command_copy_messages_step_start (is, job, 0, error);
|
|
|
5e6360 |
}
|
|
|
5e6360 |
|
|
|
5e6360 |
+static gboolean
|
|
|
5e6360 |
+imapx_job_copy_messages_matches (CamelIMAPXJob *job,
|
|
|
5e6360 |
+ CamelIMAPXMailbox *mailbox,
|
|
|
5e6360 |
+ const gchar *uid)
|
|
|
5e6360 |
+{
|
|
|
5e6360 |
+ return camel_imapx_job_has_mailbox (job, mailbox);
|
|
|
5e6360 |
+}
|
|
|
5e6360 |
+
|
|
|
5e6360 |
/* ********************************************************************** */
|
|
|
5e6360 |
|
|
|
5e6360 |
static void
|
|
|
5e6360 |
@@ -8518,6 +8533,7 @@ camel_imapx_server_copy_message (CamelIM
|
|
|
5e6360 |
job->pri = IMAPX_PRIORITY_COPY_MESSAGE;
|
|
|
5e6360 |
job->type = IMAPX_JOB_COPY_MESSAGE;
|
|
|
5e6360 |
job->start = imapx_job_copy_messages_start;
|
|
|
5e6360 |
+ job->matches = imapx_job_copy_messages_matches;
|
|
|
5e6360 |
|
|
|
5e6360 |
camel_imapx_job_set_mailbox (job, mailbox);
|
|
|
5e6360 |
|