From d6ff436656ff5c70fa2c22c2b6125999774edd83 Mon Sep 17 00:00:00 2001 From: woodser Date: Sun, 31 Aug 2025 09:51:33 -0400 Subject: [PATCH] fix error reopening clone offer tab after changing tabs (#1930) --- .../java/haveno/desktop/main/portfolio/PortfolioView.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/desktop/src/main/java/haveno/desktop/main/portfolio/PortfolioView.java b/desktop/src/main/java/haveno/desktop/main/portfolio/PortfolioView.java index e624565a9a..f1165df771 100644 --- a/desktop/src/main/java/haveno/desktop/main/portfolio/PortfolioView.java +++ b/desktop/src/main/java/haveno/desktop/main/portfolio/PortfolioView.java @@ -67,6 +67,7 @@ public class PortfolioView extends ActivatableView { private boolean editOpenOfferViewOpen, cloneOpenOfferViewOpen; private OpenOffer openOffer; private OpenOffersView openOffersView; + private boolean tabListChangeListenerAdded = false; @Inject public PortfolioView(CachingViewLoader viewLoader, Navigation navigation, FailedTradesManager failedTradesManager) { @@ -168,7 +169,10 @@ public class PortfolioView extends ActivatableView { root.getTabs().add(failedTradesTab); root.getSelectionModel().selectedItemProperty().addListener(tabChangeListener); - root.getTabs().addListener(tabListChangeListener); + if (!tabListChangeListenerAdded) { + root.getTabs().addListener(tabListChangeListener); + tabListChangeListenerAdded = true; // add listener only once + } navigation.addListener(navigationListener); if (root.getSelectionModel().getSelectedItem() == openOffersTab) @@ -194,7 +198,6 @@ public class PortfolioView extends ActivatableView { @Override protected void deactivate() { root.getSelectionModel().selectedItemProperty().removeListener(tabChangeListener); - root.getTabs().removeListener(tabListChangeListener); navigation.removeListener(navigationListener); currentTab = null; }