aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder.c
diff options
context:
space:
mode:
author0 <NotZed@Ximian.com>2001-10-20 09:01:06 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-10-20 09:01:06 +0800
commita1709b95e1e6f7037a0c83cabfb2fcce9bde1946 (patch)
treefe48f4d12633dad999c45f4a1d0341fcb62e335f /camel/camel-folder.c
parent73f6648fef9c1d3ce83c2a23696b399917dde768 (diff)
downloadgsoc2013-evolution-a1709b95e1e6f7037a0c83cabfb2fcce9bde1946.tar
gsoc2013-evolution-a1709b95e1e6f7037a0c83cabfb2fcce9bde1946.tar.gz
gsoc2013-evolution-a1709b95e1e6f7037a0c83cabfb2fcce9bde1946.tar.bz2
gsoc2013-evolution-a1709b95e1e6f7037a0c83cabfb2fcce9bde1946.tar.lz
gsoc2013-evolution-a1709b95e1e6f7037a0c83cabfb2fcce9bde1946.tar.xz
gsoc2013-evolution-a1709b95e1e6f7037a0c83cabfb2fcce9bde1946.tar.zst
gsoc2013-evolution-a1709b95e1e6f7037a0c83cabfb2fcce9bde1946.zip
If no exception supplied, use a local one. (move_message_to): Set the seen
2001-10-20 <NotZed@Ximian.com> * camel-folder.c (move_messages_to): If no exception supplied, use a local one. (move_message_to): Set the seen flag also when we delete it. svn path=/trunk/; revision=13817
Diffstat (limited to 'camel/camel-folder.c')
-rw-r--r--camel/camel-folder.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/camel/camel-folder.c b/camel/camel-folder.c
index e5ae0ba2e5..7599fec35d 100644
--- a/camel/camel-folder.c
+++ b/camel/camel-folder.c
@@ -1223,8 +1223,7 @@ camel_folder_copy_messages_to (CamelFolder *source, GPtrArray *uids,
static void
-move_message_to (CamelFolder *source, const char *uid,
- CamelFolder *dest, CamelException *ex)
+move_message_to (CamelFolder *source, const char *uid, CamelFolder *dest, CamelException *ex)
{
CamelMimeMessage *msg;
CamelMessageInfo *info = NULL;
@@ -1247,8 +1246,7 @@ move_message_to (CamelFolder *source, const char *uid,
camel_folder_append_message (dest, msg, info, ex);
camel_object_unref (CAMEL_OBJECT (msg));
if (!camel_exception_is_set (ex))
- CF_CLASS (source)->set_message_flags (source, uid, CAMEL_MESSAGE_DELETED,
- CAMEL_MESSAGE_DELETED);
+ 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)
@@ -1262,15 +1260,21 @@ static void
move_messages_to (CamelFolder *source, GPtrArray *uids, CamelFolder *dest, CamelException *ex)
{
int i;
+ CamelException local;
+
+ camel_exception_init(&local);
+ if (ex == NULL)
+ ex = &local;
camel_operation_start(NULL, _("Moving messages"));
-
+
for (i = 0; i < uids->len && !camel_exception_is_set (ex); i++) {
move_message_to (source, uids->pdata[i], dest, ex);
camel_operation_progress(NULL, i * 100 / uids->len);
}
camel_operation_end(NULL);
+ camel_exception_clear(&local);
}
/**