From eb2fce3e48d98a4e2c4a148fb772a5e6436d6df9 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Mon, 23 Sep 2002 20:48:50 +0000 Subject: If the original message is deleted, reset the deleted flag when we're 2002-09-23 Jeffrey Stedfast * camel-folder.c (transfer_message_to): If the original message is deleted, reset the deleted flag when we're done. Fixes bug #30876. svn path=/trunk/; revision=18181 --- camel/ChangeLog | 3 +++ camel/camel-folder.c | 8 +++++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'camel') diff --git a/camel/ChangeLog b/camel/ChangeLog index 33c482a2c3..320eebc4c1 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,5 +1,8 @@ 2002-09-23 Jeffrey Stedfast + * camel-folder.c (transfer_message_to): If the original message is + deleted, reset the deleted flag when we're done. Fixes bug #30876. + * providers/imap/camel-imap-folder.c (add_message_from_data): Decode the INTERNALDATE if we've got one. (imap_update_summary): Instead of requesting a list of specific diff --git a/camel/camel-folder.c b/camel/camel-folder.c index 99b9af5bc9..4941915598 100644 --- a/camel/camel-folder.c +++ b/camel/camel-folder.c @@ -1281,15 +1281,17 @@ transfer_message_to (CamelFolder *source, const char *uid, CamelFolder *dest, info = camel_message_info_new_from_header (((CamelMimePart *)msg)->headers); /* we don't want to retain the deleted flag */ - if (info && info->flags & CAMEL_MESSAGE_DELETED) + if (info && info->flags & CAMEL_MESSAGE_DELETED) { info->flags = info->flags & ~CAMEL_MESSAGE_DELETED; + delete_original = TRUE; + } camel_folder_append_message (dest, msg, info, transferred_uid, ex); camel_object_unref (CAMEL_OBJECT (msg)); - + if (delete_original && !camel_exception_is_set (ex)) camel_folder_set_message_flags (source, uid, CAMEL_MESSAGE_DELETED|CAMEL_MESSAGE_SEEN, ~0); - + if (info) { if (source->folder_flags & CAMEL_FOLDER_HAS_SUMMARY_CAPABILITY) CF_CLASS (source)->free_message_info (source, info); -- cgit v1.2.3