From b87a27922aca58c6374b84718f4331f49433d598 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Tue, 18 Nov 2014 19:08:02 +0100 Subject: [PATCH] Fix missing remove listener (Should fix #280 - not reproducible yet) --- .../gui/components/TxIdTextField.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/bitsquare/gui/components/TxIdTextField.java b/src/main/java/io/bitsquare/gui/components/TxIdTextField.java index 9c6666f89c..8364abdcae 100644 --- a/src/main/java/io/bitsquare/gui/components/TxIdTextField.java +++ b/src/main/java/io/bitsquare/gui/components/TxIdTextField.java @@ -40,6 +40,7 @@ public class TxIdTextField extends AnchorPane { private final Tooltip progressIndicatorTooltip; private final ConfidenceProgressIndicator progressIndicator; private final Label copyIcon; + private TxConfidenceListener txConfidenceListener; /////////////////////////////////////////////////////////////////////////////////////////// @@ -78,6 +79,18 @@ public class TxIdTextField extends AnchorPane { } public void setup(WalletService walletService, String txID) { + if (txConfidenceListener != null) + walletService.removeTxConfidenceListener(txConfidenceListener); + + txConfidenceListener = new TxConfidenceListener(txID) { + @Override + public void onTransactionConfidenceChanged(TransactionConfidence confidence) { + updateConfidence(confidence); + } + }; + walletService.addTxConfidenceListener(txConfidenceListener); + updateConfidence(walletService.getConfidenceForTxId(txID)); + textField.setText(txID); textField.setOnMouseClicked(mouseEvent -> { try { @@ -91,16 +104,9 @@ public class TxIdTextField extends AnchorPane { }); copyIcon.setOnMouseClicked(e -> Utilities.copyToClipboard(txID)); - - walletService.addTxConfidenceListener(new TxConfidenceListener(txID) { - @Override - public void onTransactionConfidenceChanged(TransactionConfidence confidence) { - updateConfidence(confidence); - } - }); - updateConfidence(walletService.getConfidenceForTxId(txID)); } + /////////////////////////////////////////////////////////////////////////////////////////// // Getters/Setters /////////////////////////////////////////////////////////////////////////////////////////// @@ -110,7 +116,6 @@ public class TxIdTextField extends AnchorPane { // Private /////////////////////////////////////////////////////////////////////////////////////////// - private void updateConfidence(TransactionConfidence confidence) { if (confidence != null) { switch (confidence.getConfidenceType()) {