aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-08-26 12:13:43 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-08-26 12:13:43 +0800
commit75cc9c38d4354f6f4fb3e896ecf021b4e04419e3 (patch)
tree25dc896e504dc7535afd6f90e598f6131c0b8d07
parent3418772c2cd0532ad71fcb783bd258451a694a19 (diff)
downloadgsoc2013-evolution-75cc9c38d4354f6f4fb3e896ecf021b4e04419e3.tar.gz
gsoc2013-evolution-75cc9c38d4354f6f4fb3e896ecf021b4e04419e3.tar.zst
gsoc2013-evolution-75cc9c38d4354f6f4fb3e896ecf021b4e04419e3.zip
only open the trash or junk if they're vfolders here. Some stores that
2004-08-25 Not Zed <NotZed@Ximian.com> * mail-component.c (store_info_new): only open the trash or junk if they're vfolders here. Some stores that implement their own trash folders are unacceptably slow to open otherwise. svn path=/trunk/; revision=27027
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-component.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 47b6864f27..bfaeff0456 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2004-08-25 Not Zed <NotZed@Ximian.com>
+
+ * mail-component.c (store_info_new): only open the trash or junk
+ if they're vfolders here. Some stores that implement their own
+ trash folders are unacceptably slow to open otherwise.
+
2004-08-25 Frederic Crozat <fcrozat@mandrakesoft.com>
* importers/evolution-mbox-importer.c: (load_file_fn):
diff --git a/mail/mail-component.c b/mail/mail-component.c
index 500fa35516..6d2201937a 100644
--- a/mail/mail-component.c
+++ b/mail/mail-component.c
@@ -149,8 +149,12 @@ store_info_new(CamelStore *store, const char *name)
si->name = g_strdup(name);
si->store = store;
camel_object_ref(store);
- si->vtrash = camel_store_get_trash(store, NULL);
- si->vjunk = camel_store_get_junk(store, NULL);
+ /* If these are vfolders then they need to be opened now,
+ * otherwise they wont keep track of all folders */
+ if ((store->flags & CAMEL_STORE_VTRASH) != 0)
+ si->vtrash = camel_store_get_trash(store, NULL);
+ if ((store->flags & CAMEL_STORE_VJUNK) != 0)
+ si->vjunk = camel_store_get_junk(store, NULL);
return si;
}