aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/local/camel-maildir-store.c
diff options
context:
space:
mode:
author8 <NotZed@Ximian.com>2001-10-28 13:10:56 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-10-28 13:10:56 +0800
commit78b66af8ce96ab41e476d3ebf36cd85fced6d781 (patch)
tree271e7655e09c1a0a89798739e941d519765cfaa9 /camel/providers/local/camel-maildir-store.c
parentb1d36fe27d0434b98176a670ca67e64e5d4bb11e (diff)
downloadgsoc2013-evolution-78b66af8ce96ab41e476d3ebf36cd85fced6d781.tar
gsoc2013-evolution-78b66af8ce96ab41e476d3ebf36cd85fced6d781.tar.gz
gsoc2013-evolution-78b66af8ce96ab41e476d3ebf36cd85fced6d781.tar.bz2
gsoc2013-evolution-78b66af8ce96ab41e476d3ebf36cd85fced6d781.tar.lz
gsoc2013-evolution-78b66af8ce96ab41e476d3ebf36cd85fced6d781.tar.xz
gsoc2013-evolution-78b66af8ce96ab41e476d3ebf36cd85fced6d781.tar.zst
gsoc2013-evolution-78b66af8ce96ab41e476d3ebf36cd85fced6d781.zip
Use path not protocol as the path part of the uri of the folder_created
2001-10-28 <NotZed@Ximian.com> * providers/local/camel-local-folder.c (camel_local_folder_construct): Use path not protocol as the path part of the uri of the folder_created event. * providers/local/camel-maildir-store.c (scan_dir): If FAST is set, dont try and scan for unread counts. * providers/local/camel-local-store.c (create_folder): Implement, just return the folderinfo of the folder matched, not all of it. * camel-store.c (camel_store_rename_folder): Rename the camelfolders before emitting the folderchanged event (otherwise vstore fails to pick up change. * camel-store.c (camel_store_init): Always use a default dir_sep of '/'. * camel-store.h (struct _CamelStore): Added a dir_sep to the base store so rename and whatnot can work, temporary fix for mixed dir separator in folder name api's. * providers/imap/camel-map-store.c: (imap_connect_online): Also set the store's dir_sep here. (imap_connect_offline): " svn path=/trunk/; revision=14275
Diffstat (limited to 'camel/providers/local/camel-maildir-store.c')
-rw-r--r--camel/providers/local/camel-maildir-store.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/camel/providers/local/camel-maildir-store.c b/camel/providers/local/camel-maildir-store.c
index 4d754e5f12..e26ab6b23e 100644
--- a/camel/providers/local/camel-maildir-store.c
+++ b/camel/providers/local/camel-maildir-store.c
@@ -271,18 +271,19 @@ static int scan_dir(CamelStore *store, GHashTable *visited, char *root, const ch
base = path;
/* if we have this folder open, get the real unread count */
+ unread = -1;
+
CAMEL_STORE_LOCK(store, cache_lock);
folder = g_hash_table_lookup(store->folders, path);
if (folder)
unread = camel_folder_get_unread_message_count(folder);
- else
- unread = 0;
CAMEL_STORE_UNLOCK(store, cache_lock);
/* if we dont have a folder, then scan the directory and get the unread
count from there, which is reasonably cheap (on decent filesystem) */
/* Well we could get this from the summary, but this is more accurate */
- if (folder == NULL) {
+ if (folder == NULL
+ && (flags & CAMEL_STORE_FOLDER_INFO_FAST) == 0) {
unread = 0;
dir = opendir(new);
if (dir) {