aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-ops.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 766fa3787c..d82f757481 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2000-09-27 Jeffrey Stedfast <fejj@helixcode.com>
+
+ * mail-ops.c (do_filter_ondemand): If the message has been
+ deleted, don't try filtering it - skip to the next message.
+ Fixes bugzilla bug #639.
+
2000-09-25 Jeffrey Stedfast <fejj@helixcode.com>
* folder-browser-factory.c: Shuffling (un)select all menu items to
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index a2fd820dfa..d7edad424b 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -4,6 +4,7 @@
/*
* Author :
* Dan Winship <danw@helixcode.com>
+ * Jeffrey Stedfast <fejj@helixcode.com>
* Peter Williams <peterw@helixcode.com>
*
* Copyright 2000 Helix Code, Inc. (http://www.helixcode.com)
@@ -346,6 +347,13 @@ do_filter_ondemand (gpointer in_data, gpointer op_data, CamelException *ex)
free_info = TRUE;
}
+ /* check if this message is marked for deletion */
+ if (info->flags & CAMEL_MESSAGE_DELETED) {
+ /* don't filter messages which have been marked as deleted */
+ camel_object_unref (CAMEL_OBJECT (message));
+ continue;
+ }
+
filtered = filter_driver_run (driver, message, info, NULL,
FILTER_SOURCE_DEMAND, ex);