diff options
-rw-r--r-- | camel/ChangeLog | 8 | ||||
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index e605f132cb..5b1cc07452 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,8 +1,10 @@ 2004-03-11 Not Zed <NotZed@Ximian.com> - * providers/imap/camel-imap-store.c (get_one_folder_offline): - (parse_list_response_as_folder_info): turn - off NOINFERIORS always, translate to nochildren. + * providers/imap/camel-imap-store.c (get_one_folder_offline): + (parse_list_response_as_folder_info): turn off NOINFERIORS always, + translate to nochildren. + (imap_store_refresh_folders): check we're updating an imap folder, + we could also have trash folders in the store too. 2004-03-08 Not Zed <NotZed@Ximian.com> diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index 4a164bf289..9143a1f090 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -1162,6 +1162,12 @@ imap_store_refresh_folders (CamelImapStore *store, CamelException *ex) for (i = 0; i <folders->len; i++) { CamelFolder *folder = folders->pdata[i]; + /* NB: we can have vtrash folders also in our store ... bit hacky */ + if (!CAMEL_IS_IMAP_FOLDER(folder)) { + camel_object_unref(folder); + continue; + } + CAMEL_IMAP_FOLDER (folder)->need_rescan = TRUE; if (!camel_exception_is_set(ex)) CAMEL_FOLDER_CLASS (CAMEL_OBJECT_GET_CLASS(folder))->refresh_info(folder, ex); |