diff --git a/liana-gui/src/gui/mod.rs b/liana-gui/src/gui/mod.rs index f64ea2dc..9b8a35aa 100644 --- a/liana-gui/src/gui/mod.rs +++ b/liana-gui/src/gui/mod.rs @@ -239,12 +239,14 @@ impl GUI { .iter() .enumerate() .filter_map(|(i, tab)| { - if let tab::State::App(a) = &tab.state { - if a.wallet_id() == *wallet_id { - Some(i) - } else { - None + if match &tab.state { + tab::State::App(a) => a.wallet_id() == *wallet_id, + tab::State::Loader(l) => { + l.wallet_settings.wallet_id() == *wallet_id } + _ => false, + } { + Some(i) } else { None } 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) }