melib/imap: initialise uid_store folders in folders()

jmap
Manos Pitsidianakis 2019-11-27 01:45:10 +02:00
parent 81b7195080
commit 4677f9c6bb
Signed by: Manos Pitsidianakis
GPG Key ID: 73627C2F690DF710
1 changed files with 3 additions and 0 deletions

View File

@ -284,9 +284,12 @@ impl MailBackend for ImapType {
*folders = ImapType::imap_folders(&self.connection);
folders.retain(|_, f| (self.is_subscribed)(f.path()));
let keys = folders.keys().cloned().collect::<FnvHashSet<FolderHash>>();
let mut uid_lock = self.uid_store.uidvalidity.lock().unwrap();
for f in folders.values_mut() {
uid_lock.entry(f.hash()).or_default();
f.children.retain(|c| keys.contains(c));
}
drop(uid_lock);
*self.online.lock().unwrap() = true;
Ok(folders
.iter()