aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-ops.c')
-rw-r--r--mail/mail-ops.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 0335910259..271fc578bb 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -180,7 +180,6 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
filter_driver_run (filter, message, info,
input->destination, FILTER_SOURCE_INCOMING,
- input->hook_func, input->hook_data,
TRUE, ex);
if (free_info)
@@ -347,6 +346,9 @@ do_filter_ondemand (gpointer in_data, gpointer op_data, CamelException *ex)
int i;
uids = camel_folder_get_uids (input->source);
+
+ camel_folder_freeze (input->source);
+
for (i = 0; i < uids->len; i++) {
CamelMimeMessage *message;
CamelMessageInfo *info;
@@ -366,7 +368,7 @@ do_filter_ondemand (gpointer in_data, gpointer op_data, CamelException *ex)
}
filtered = filter_driver_run (input->driver, message, info, NULL,
- FILTER_SOURCE_DEMAND, NULL, NULL, TRUE, ex);
+ FILTER_SOURCE_DEMAND, TRUE, ex);
if (free_info)
camel_message_info_free (info);
@@ -385,6 +387,9 @@ do_filter_ondemand (gpointer in_data, gpointer op_data, CamelException *ex)
}
camel_folder_sync (input->source, TRUE, ex);
+
+ camel_folder_thaw (input->source);
+
camel_folder_free_uids (input->source, uids);
data->empty = FALSE;