Fix active view update when center pane is not focused

This commit is contained in:
Max Brunsfeld 2023-09-29 14:35:21 -07:00
parent 55da5bc25d
commit 948871969f

View File

@ -2980,30 +2980,28 @@ impl Workspace {
}
fn update_active_view_for_followers(&self, cx: &AppContext) {
let item = self
.active_item(cx)
.and_then(|item| item.to_followable_item_handle(cx));
if let Some(item) = item {
self.update_followers(
item.is_project_item(cx),
proto::update_followers::Variant::UpdateActiveView(proto::UpdateActiveView {
let mut is_project_item = true;
let mut update = proto::UpdateActiveView::default();
if self.active_pane.read(cx).has_focus() {
let item = self
.active_item(cx)
.and_then(|item| item.to_followable_item_handle(cx));
if let Some(item) = item {
is_project_item = item.is_project_item(cx);
update = proto::UpdateActiveView {
id: item
.remote_id(&self.app_state.client, cx)
.map(|id| id.to_proto()),
leader_id: self.leader_for_pane(&self.active_pane),
}),
cx,
);
} else {
self.update_followers(
true,
proto::update_followers::Variant::UpdateActiveView(proto::UpdateActiveView {
id: None,
leader_id: None,
}),
cx,
);
};
}
}
self.update_followers(
is_project_item,
proto::update_followers::Variant::UpdateActiveView(update),
cx,
);
}
fn update_followers(