diff --git a/crates/gpui/src/app.rs b/crates/gpui/src/app.rs index a9468ada6c4c4ab4c55d09dd48b03d54dffbbecc..23f5cc26a58bdb16ac82fb9ff18a4b6855671edb 100644 --- a/crates/gpui/src/app.rs +++ b/crates/gpui/src/app.rs @@ -4917,6 +4917,12 @@ impl From> for AnyViewHandle { } } +impl PartialEq> for AnyViewHandle { + fn eq(&self, other: &ViewHandle) -> bool { + self.window_id == other.window_id && self.view_id == other.view_id + } +} + impl Drop for AnyViewHandle { fn drop(&mut self) { self.ref_counts diff --git a/crates/workspace/src/pane.rs b/crates/workspace/src/pane.rs index 7e56b864bfa5813ab6ed1f58174e8a3c4a0bb5e2..cc1d8f0ad21a22588c76e00f594350b67c6b8314 100644 --- a/crates/workspace/src/pane.rs +++ b/crates/workspace/src/pane.rs @@ -1527,7 +1527,7 @@ impl View for Pane { } cx.focus(active_item); - } else { + } else if focused != self.tab_bar_context_menu { self.last_focused_view_by_item .insert(active_item.id(), focused.downgrade()); }