aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@helixcode.com>2000-10-27 12:49:37 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2000-10-27 12:49:37 +0800
commit6daf5b77e42a313c6af11803d4f34b16b4c28e4f (patch)
tree288a610313078962ef01969940be83d8c98f7685
parent20b4b6988bbc3a1749a6453bdbeca2dac424f396 (diff)
downloadgsoc2013-evolution-6daf5b77e42a313c6af11803d4f34b16b4c28e4f.tar.gz
gsoc2013-evolution-6daf5b77e42a313c6af11803d4f34b16b4c28e4f.tar.zst
gsoc2013-evolution-6daf5b77e42a313c6af11803d4f34b16b4c28e4f.zip
Don't mark as deleted here, otherwise the message will have the DELETED
2000-10-27 Jeffrey Stedfast <fejj@helixcode.com> * filter-driver.c (do_move): Don't mark as deleted here, otherwise the message will have the DELETED flag set in the folder it's being moved to. (do_delete): Don't set the DELETED flag here either...we'll only set it at the very end of the filtering process. (filter_driver_filter_message): Set the DELETED flag after all processing is completed. svn path=/trunk/; revision=6221
-rw-r--r--filter/ChangeLog10
-rw-r--r--filter/filter-driver.c6
2 files changed, 14 insertions, 2 deletions
diff --git a/filter/ChangeLog b/filter/ChangeLog
index def818a6be..24dc82fac7 100644
--- a/filter/ChangeLog
+++ b/filter/ChangeLog
@@ -1,3 +1,13 @@
+2000-10-27 Jeffrey Stedfast <fejj@helixcode.com>
+
+ * filter-driver.c (do_move): Don't mark as deleted here, otherwise
+ the message will have the DELETED flag set in the folder it's
+ being moved to.
+ (do_delete): Don't set the DELETED flag here either...we'll only
+ set it at the very end of the filtering process.
+ (filter_driver_filter_message): Set the DELETED flag after all
+ processing is completed.
+
2000-10-26 Jeffrey Stedfast <fejj@helixcode.com>
* filtertypes.xml: Readded Source url stuff.
diff --git a/filter/filter-driver.c b/filter/filter-driver.c
index 369d3573e2..0a5ecc0561 100644
--- a/filter/filter-driver.c
+++ b/filter/filter-driver.c
@@ -292,7 +292,6 @@ do_delete (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterDriver
d(fprintf (stderr, "doing delete\n"));
p->deleted = TRUE;
- p->info->flags = p->info->flags | CAMEL_MESSAGE_DELETED;
report_status (driver, FILTER_STATUS_ACTION, "Delete");
return NULL;
@@ -347,7 +346,6 @@ do_move (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterDriver *d
d(fprintf (stderr, "moving message...\n"));
p->copied = TRUE;
p->deleted = TRUE; /* a 'move' is a copy & delete */
- p->info->flags = p->info->flags | CAMEL_MESSAGE_DELETED;
for (i = 0; i < argc; i++) {
if (argv[i]->type == ESEXP_RES_STRING) {
/* open folders we intent to move to */
@@ -704,6 +702,10 @@ filter_driver_filter_message (FilterDriver *driver, CamelMimeMessage *message, C
mail_tool_camel_lock_down ();
}
+ /* *Now* we can set the DELETED flag... */
+ if (p->deleted)
+ info->flags = info->flags | CAMEL_MESSAGE_DELETED;
+
if (freeinfo) {
camel_flag_list_free (&info->user_flags);
camel_tag_list_free (&info->user_tags);