From 6726504bd062626f767b6643050c5910920f93b5 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Sun, 17 Apr 2016 19:59:39 +0200 Subject: [PATCH] Fix bug with too early removing address entries --- .../bitsquare/arbitration/DisputeManager.java | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/core/src/main/java/io/bitsquare/arbitration/DisputeManager.java b/core/src/main/java/io/bitsquare/arbitration/DisputeManager.java index 17dbb12ad0..ad71ff6182 100644 --- a/core/src/main/java/io/bitsquare/arbitration/DisputeManager.java +++ b/core/src/main/java/io/bitsquare/arbitration/DisputeManager.java @@ -463,13 +463,6 @@ public class DisputeManager { log.warn("We got a dispute mail msg what we have already stored. TradeId = " + disputeCommunicationMessage.getTradeId()); dispute.setIsClosed(true); - if (tradeManager.getTradeById(dispute.getTradeId()).isPresent()) - tradeManager.closeDisputedTrade(dispute.getTradeId()); - else { - Optional openOfferOptional = openOfferManager.getOpenOfferById(dispute.getTradeId()); - if (openOfferOptional.isPresent()) - openOfferManager.closeOpenOffer(openOfferOptional.get().getOffer()); - } if (dispute.disputeResultProperty().get() == null) { dispute.setDisputeResult(disputeResult); @@ -532,13 +525,15 @@ public class DisputeManager { } else { log.warn("We got a dispute msg what we have already stored. TradeId = " + disputeResult.tradeId); } - - /* DisputeMailMessage disputeDirectMessage = disputeResult.getResultMailMessage(); - if (!dispute.getDisputeMailMessagesAsObservableList().contains(disputeDirectMessage)) - dispute.addDisputeMessage(disputeDirectMessage); - else - log.warn("We got a dispute mail msg what we have already stored. TradeId = " + disputeDirectMessage.getTradeId());*/ + // set state after payout as we call swapTradeEntryToAvailableEntry + if (tradeManager.getTradeById(dispute.getTradeId()).isPresent()) + tradeManager.closeDisputedTrade(dispute.getTradeId()); + else { + Optional openOfferOptional = openOfferManager.getOpenOfferById(dispute.getTradeId()); + if (openOfferOptional.isPresent()) + openOfferManager.closeOpenOffer(openOfferOptional.get().getOffer()); + } } else { log.warn("We got a dispute result msg but we don't have a matching dispute. TradeId = " + disputeResult.tradeId); }