From 88966c2b09d3025f730e648c523e7caa0e6487c9 Mon Sep 17 00:00:00 2001 From: edouardparis Date: Thu, 24 Jul 2025 10:49:58 +0200 Subject: [PATCH] fix: move focused_tab if >= removed index If the focused tab index is before the removed tab index, then it must not change, if it is equal or after, because all the elements are moved to the left, the focused tab index must be decremented with 0 as minimum. --- liana-gui/src/gui/pane.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/liana-gui/src/gui/pane.rs b/liana-gui/src/gui/pane.rs index 52b6d61b..db5e9172 100644 --- a/liana-gui/src/gui/pane.rs +++ b/liana-gui/src/gui/pane.rs @@ -71,13 +71,11 @@ impl Pane { return None; } let tab = self.tabs.remove(i); - self.focused_tab = if self.tabs.is_empty() { - 0 - } else if i < self.tabs.len() - 1 { - i - } else { - self.tabs.len() - 1 - }; + + if self.focused_tab >= i { + self.focused_tab = self.focused_tab.saturating_sub(1); + } + Some(tab) }