aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap/camel-imap-folder.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-08-17 07:31:34 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-08-17 07:31:34 +0800
commitd103befa6dce296f571319c0b69700b1f06d4a83 (patch)
treef570bff7dff692580118577bb330f00600a64063 /camel/providers/imap/camel-imap-folder.c
parenta7da845f7f90ea4be385b10ef8f9001c3ceebce9 (diff)
downloadgsoc2013-evolution-d103befa6dce296f571319c0b69700b1f06d4a83.tar.gz
gsoc2013-evolution-d103befa6dce296f571319c0b69700b1f06d4a83.tar.zst
gsoc2013-evolution-d103befa6dce296f571319c0b69700b1f06d4a83.zip
If we are online and message flags have changed in the current folder,
2001-08-16 Jeffrey Stedfast <fejj@ximian.com> * providers/imap/camel-imap-store.c (imap_keepalive): If we are online and message flags have changed in the current folder, sync the flags else do a NOOP. This fixes bug #4666. Also lock around the NOOP command. * providers/imap/camel-imap-folder.c (imap_sync_online): Don't ever send "STORE FLAGS.SILENT ()" since Cyrus imapd doesn't like this (and maybe others too?) so what we'll do instead is to send "STORE -FLAGS.SILENT (\Seen \Answered \Deleted \Marked)" to clear all the flags (since this is in essence what we want to do anyway). svn path=/trunk/; revision=12136
Diffstat (limited to 'camel/providers/imap/camel-imap-folder.c')
-rw-r--r--camel/providers/imap/camel-imap-folder.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c
index d6ac6d3c82..a0eec3a67b 100644
--- a/camel/providers/imap/camel-imap-folder.c
+++ b/camel/providers/imap/camel-imap-folder.c
@@ -677,7 +677,7 @@ imap_sync_online (CamelFolder *folder, CamelException *ex)
/* Save the summary */
imap_sync_offline (folder, ex);
-
+
CAMEL_IMAP_STORE_UNLOCK (store, command_lock);
}
@@ -685,7 +685,7 @@ static void
imap_expunge_uids_offline (CamelFolder *folder, GPtrArray *uids, CamelException *ex)
{
int i;
-
+
for (i = 0; i < uids->len; i++) {
camel_folder_summary_remove_uid (folder->summary, uids->pdata[i]);
/* We intentionally don't remove it from the cache because
@@ -693,7 +693,7 @@ imap_expunge_uids_offline (CamelFolder *folder, GPtrArray *uids, CamelException
*/
}
camel_folder_summary_save (folder->summary);
-
+
camel_disco_diary_log (CAMEL_DISCO_STORE (folder->parent_store)->diary,
CAMEL_DISCO_DIARY_FOLDER_EXPUNGE, folder, uids);
}
@@ -704,7 +704,7 @@ imap_expunge_uids_online (CamelFolder *folder, GPtrArray *uids, CamelException *
CamelImapStore *store = CAMEL_IMAP_STORE (folder->parent_store);
CamelImapResponse *response;
char *set;
-
+
set = imap_uid_array_to_set (folder->summary, uids);
CAMEL_IMAP_STORE_LOCK (store, command_lock);
response = camel_imap_command (store, folder, ex,
@@ -717,7 +717,7 @@ imap_expunge_uids_online (CamelFolder *folder, GPtrArray *uids, CamelException *
g_free (set);
return;
}
-
+
if (store->capabilities & IMAP_CAPABILITY_UIDPLUS) {
response = camel_imap_command (store, folder, ex,
"UID EXPUNGE %s", set);