diff options
author | Peter Williams <peterw@ximian.com> | 2002-08-27 03:04:23 +0800 |
---|---|---|
committer | Peter Williams <peterw@src.gnome.org> | 2002-08-27 03:04:23 +0800 |
commit | 4fd7dd89f36a9dea7ea7f775cfc7f803effbfc3e (patch) | |
tree | db21465d66ee9eba8aa7e0ab7c43dcb2f9f7d46a /mail | |
parent | 70e176f79dde254653ccdbd1ffad99e7d0b2abe1 (diff) | |
download | gsoc2013-evolution-4fd7dd89f36a9dea7ea7f775cfc7f803effbfc3e.tar.gz gsoc2013-evolution-4fd7dd89f36a9dea7ea7f775cfc7f803effbfc3e.tar.zst gsoc2013-evolution-4fd7dd89f36a9dea7ea7f775cfc7f803effbfc3e.zip |
Enforce the mailer policy that deleted messages are marked as seen. Fixes
2002-08-26 Peter Williams <peterw@ximian.com>
* mail-ops.c (transfer_messages_transfer): Enforce the mailer policy
that deleted messages are marked as seen. Fixes 29448. This could
go in camel_folder_transfer_messages_to, but I don't think we
necessarily want to enforce that policy for Camel in general.
svn path=/trunk/; revision=17865
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 7 | ||||
-rw-r--r-- | mail/mail-ops.c | 14 |
2 files changed, 19 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index bf9afb466b..15269754f0 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,10 @@ +2002-08-26 Peter Williams <peterw@ximian.com> + + * mail-ops.c (transfer_messages_transfer): Enforce the mailer policy + that deleted messages are marked as seen. Fixes 29448. This could + go in camel_folder_transfer_messages_to, but I don't think we + necessarily want to enforce that policy for Camel in general. + 2002-08-23 Peter Williams <peterw@ximian.com> Address most of bug #4940. Fails on the last page of the add account diff --git a/mail/mail-ops.c b/mail/mail-ops.c index b4d3788ed5..4bde9475a3 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -954,9 +954,19 @@ transfer_messages_transfer (struct _mail_msg *mm) camel_folder_freeze (m->source); camel_folder_freeze (dest); - + camel_folder_transfer_messages_to (m->source, m->uids, dest, NULL, m->delete, &mm->ex); - + + /* make sure all deleted messages are marked as seen */ + + if (m->delete) { + int i; + + for (i = 0; i < m->uids->len; i++) + camel_folder_set_message_flags (m->source, m->uids->pdata[i], + CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN); + } + camel_folder_thaw (m->source); camel_folder_thaw (dest); camel_folder_sync (dest, FALSE, NULL); |