diff options
Diffstat (limited to 'camel')
-rw-r--r-- | camel/ChangeLog | 6 | ||||
-rw-r--r-- | camel/camel-operation.c | 6 | ||||
-rw-r--r-- | camel/providers/local/camel-maildir-store.c | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index c6664538be..46f1f8c2cb 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,5 +1,11 @@ 2001-10-02 <NotZed@Ximian.com> + * providers/local/camel-maildir-store.c (get_folder_info): Go back + to using the store url's path, not the toplevel_dir thing. + + * camel-operation.c (camel_operation_progress): Fix the progress + logic, so we dont update too often. + * camel-object.c (camel_object_get_hooks): Change the lock to a recursive e-mutex. (camel_object_hook_event): Maintain list length of hook list. diff --git a/camel/camel-operation.c b/camel/camel-operation.c index 1358cc15ab..e44d7ffde9 100644 --- a/camel/camel-operation.c +++ b/camel/camel-operation.c @@ -563,9 +563,9 @@ void camel_operation_progress(CamelOperation *cc, int pc) s->pc = pc; now = stamp(); - if (cc->status_update != now - && s->flags & CAMEL_OPERATION_TRANSIENT - && s->stamp/16 > now/16) + if (cc->status_update == now + || (s->flags & CAMEL_OPERATION_TRANSIENT + && s->stamp/16 > now/16)) cc = NULL; else { s->stamp = cc->status_update = now; diff --git a/camel/providers/local/camel-maildir-store.c b/camel/providers/local/camel-maildir-store.c index 5ed4e4a533..c60b162929 100644 --- a/camel/providers/local/camel-maildir-store.c +++ b/camel/providers/local/camel-maildir-store.c @@ -400,7 +400,7 @@ get_folder_info (CamelStore *store, const char *top, guint32 flags, CamelExcepti visited = g_hash_table_new(inode_hash, inode_equal); - if (scan_dir(store, visited, local_store->toplevel_dir, top?top:".", flags, NULL, &fi, ex) == -1 && fi != NULL) { + if (scan_dir(store, visited, ((CamelService *)local_store)->url->path, top?top:".", flags, NULL, &fi, ex) == -1 && fi != NULL) { camel_store_free_folder_info_full(store, fi); fi = NULL; } |