Merge pull request #647 from zed-industries/fix-reopening-project-items

Pass project entry id to Pane when opening a project item
This commit is contained in:
Nathan Sobo 2022-03-20 11:01:23 -06:00 committed by GitHub
commit c03eec019c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -862,10 +862,9 @@ impl Workspace {
{
use project::Item as _;
if let Some(item) = project_item
.read(cx)
.entry_id(cx)
.and_then(|entry_id| self.active_pane().read(cx).item_for_entry(entry_id))
let entry_id = project_item.read(cx).entry_id(cx);
if let Some(item) = entry_id
.and_then(|entry_id| self.active_pane().read(cx).item_for_entry(dbg!(entry_id)))
.and_then(|item| item.downcast())
{
self.activate_item(&item, cx);
@ -873,7 +872,9 @@ impl Workspace {
}
let item = cx.add_view(|cx| T::for_project_item(self.project().clone(), project_item, cx));
self.add_item(Box::new(item.clone()), cx);
self.active_pane().update(cx, |pane, cx| {
pane.add_item(entry_id, Box::new(item.clone()), cx)
});
item
}