aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/mail-ops.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 99b238e33c..8def53ae4a 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,8 @@
+2000-09-07 Jeffrey Stedfast <fejj@helixcode.com>
+
+ * mail-ops.c (do_fetch_mail): Don't free uids, let the camel
+ folder do that when it gets finalized
+
2000-09-06 Jeffrey Stedfast <fejj@helixcode.com>
* mail-ops.c (mail_do_filter_ondemand): New async function to
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 8a18bd8ea5..d4592aa251 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -162,10 +162,13 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
for (i = 0; i < uids->len; i++) {
CamelMimeMessage *message;
+ mail_tool_camel_lock_up ();
message = camel_folder_get_message (folder, uids->pdata[i], ex);
+ fprintf (stderr, "about to run the filter\n");
filter_driver_run (filter, message, input->destination,
FILTER_SOURCE_INCOMING, TRUE,
input->hook_func, input->hook_data);
+ mail_tool_camel_lock_down ();
if (!input->keep_on_server) {
guint32 flags;
@@ -176,11 +179,8 @@ do_fetch_mail (gpointer in_data, gpointer op_data, CamelException *ex)
~flags);
}
camel_object_unref (CAMEL_OBJECT (message));
- g_free (uids->pdata[i]);
}
- g_ptr_array_free (uids, TRUE);
-
data->empty = FALSE;
}
mail_tool_camel_lock_down ();