From 994bea00032df173e03f0388b714f95838eee1e2 Mon Sep 17 00:00:00 2001 From: CharlesChen0823 Date: Mon, 10 Feb 2025 17:54:06 +0800 Subject: [PATCH] workspace: Fix pane focus transfer when closing another pane (#23175) Closes #23123 Only close current active_pane should move focus to other pane. Release Notes: - N/A --- crates/workspace/src/workspace.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs index 78c950b535560bc63f5033d30f6940534694220d..e4e3a7c783ec71aa29ce8518b85d122899aecf80 100644 --- a/crates/workspace/src/workspace.rs +++ b/crates/workspace/src/workspace.rs @@ -4442,10 +4442,12 @@ impl Workspace { if let Some(focus_on) = focus_on { focus_on.update(cx, |pane, cx| window.focus(&pane.focus_handle(cx))); } else { - self.panes - .last() - .unwrap() - .update(cx, |pane, cx| window.focus(&pane.focus_handle(cx))); + if self.active_pane() == pane { + self.panes + .last() + .unwrap() + .update(cx, |pane, cx| window.focus(&pane.focus_handle(cx))); + } } if self.last_active_center_pane == Some(pane.downgrade()) { self.last_active_center_pane = None;