Fix race conditions and bugs in Buffer::reload

This commit is contained in:
Max Brunsfeld 2023-11-16 15:52:24 -08:00
parent 89d73f713a
commit 5f1acae0d3
5 changed files with 123 additions and 44 deletions

View file

@ -6262,7 +6262,7 @@ impl Project {
.log_err();
}
buffer.file_updated(Arc::new(new_file), cx).detach();
buffer.file_updated(Arc::new(new_file), cx);
}
}
});
@ -7256,7 +7256,7 @@ impl Project {
.ok_or_else(|| anyhow!("no such worktree"))?;
let file = File::from_proto(file, worktree, cx)?;
buffer.update(cx, |buffer, cx| {
buffer.file_updated(Arc::new(file), cx).detach();
buffer.file_updated(Arc::new(file), cx);
});
this.detect_language_for_buffer(&buffer, cx);
}