diff options
Diffstat (limited to 'mail')
-rw-r--r-- | mail/ChangeLog | 9 | ||||
-rw-r--r-- | mail/component-factory.c | 4 | ||||
-rw-r--r-- | mail/mail-local.c | 6 | ||||
-rw-r--r-- | mail/mail-ops.c | 2 |
4 files changed, 17 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 84ec972536..15e91aa75d 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,14 @@ 2001-09-19 <NotZed@Ximian.com> + * component-factory.c: Added missing header. + + * mail-local.c (mail_local_store_add_folder): Async load the + folder we just added, so it can update the folder counts in the + display. We just discard the folder afterwards? + + * mail-ops.c (mail_get_folder): Use the queued thread to get + folders. + * General cleanup of mail debug printfs. * mail-folder-cache.[ch]: Completely rewritten. Removed all calls diff --git a/mail/component-factory.c b/mail/component-factory.c index 89a615f9bd..2f9913078d 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -48,6 +48,7 @@ #include "mail-mt.h" #include "mail-importer.h" #include "mail-vfolder.h" /* vfolder_create_storage */ +#include "mail-folder-cache.h" #include "component-factory.h" @@ -990,9 +991,6 @@ add_storage (const char *name, const char *uri, CamelService *store, switch (res) { case EVOLUTION_STORAGE_OK: mail_hash_storage (store, storage); -/* - mail_scan_subfolders (CAMEL_STORE (store), storage); -*/ mail_note_store((CamelStore *)store); /* falllll */ case EVOLUTION_STORAGE_ERROR_ALREADYREGISTERED: diff --git a/mail/mail-local.c b/mail/mail-local.c index 26ba476dd1..dcc6567638 100644 --- a/mail/mail-local.c +++ b/mail/mail-local.c @@ -55,6 +55,7 @@ #include "mail-mt.h" #include "mail-folder-cache.h" #include "mail-vfolder.h" +#include "mail-ops.h" #define d(x) @@ -826,7 +827,12 @@ static void mail_local_store_add_folder(MailLocalStore *mls, const char *uri, co d(printf("adding folder: '%s' path = '%s'\n", info->url, path)); + /* FIXME: should copy info, so we dont get a removed while we're using it? */ camel_object_trigger_event((CamelObject *)mls, "folder_created", info); + + /* this is just so the folder is opened at least once to setup the folder + counts etc in the display. Joy eh? The result is discarded. */ + mail_get_folder(uri, NULL, NULL); } struct _search_info { diff --git a/mail/mail-ops.c b/mail/mail-ops.c index 09d857923e..89967b7488 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -1324,7 +1324,7 @@ mail_get_folder (const char *uri, void (*done) (char *uri, CamelFolder *folder, m->done = done; id = m->msg.seq; - e_thread_put (mail_thread_new, (EMsg *)m); + e_thread_put (mail_thread_queued, (EMsg *)m); return id; } |