aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/imap/camel-imap-folder.h
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2001-05-27 01:17:10 +0800
committerDan Winship <danw@src.gnome.org>2001-05-27 01:17:10 +0800
commit364cdf26e787ac19200de24beb147c9ac229c16b (patch)
treee58a9cee226f32246f43d246c80a731c4bda5d80 /camel/providers/imap/camel-imap-folder.h
parent1f50ab36a1e3835e5b701c3eb0d0867a15386067 (diff)
downloadgsoc2013-evolution-364cdf26e787ac19200de24beb147c9ac229c16b.tar.gz
gsoc2013-evolution-364cdf26e787ac19200de24beb147c9ac229c16b.tar.zst
gsoc2013-evolution-364cdf26e787ac19200de24beb147c9ac229c16b.zip
Add a "need_rescan" flag saying if we want to rescan the entire folder for
* providers/imap/camel-imap-folder.c: Add a "need_rescan" flag saying if we want to rescan the entire folder for flag changes next time it's selected. (camel_imap_folder_init): Set need_rescan TRUE. (camel_imap_folder_selected): If need_rescan is TRUE, call imap_rescan. (imap_refresh_info): Only do a full rescan if need_rescan is TRUE. Otherwise just do a NOOP, making this a MUCH more lightweight operation. Also, don't call imap_rescan directly if the folder isn't selected, since that could end up causing the folder to be scanned *twice* (imap_rescan -> camel_imap_command -> camel_imap_folder_selected -> imap_rescan). (imap_rescan): Set need_rescan FALSE. (imap_sync_online): Don't NOOP if no changes were pushed: the caller will call refresh_info if it wants to poll for changes. Fixes evolution-mail doing lots of unnecessary extra work at quit time. svn path=/trunk/; revision=10010
Diffstat (limited to 'camel/providers/imap/camel-imap-folder.h')
-rw-r--r--camel/providers/imap/camel-imap-folder.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/camel/providers/imap/camel-imap-folder.h b/camel/providers/imap/camel-imap-folder.h
index 96b33c0400..8f358e656c 100644
--- a/camel/providers/imap/camel-imap-folder.h
+++ b/camel/providers/imap/camel-imap-folder.h
@@ -48,6 +48,7 @@ struct _CamelImapFolder {
struct _CamelImapFolderPrivate *priv;
+ gboolean need_rescan;
CamelFolderSearch *search;
CamelImapMessageCache *cache;
};