fix concurrent modification exception when trades added to main view

This commit is contained in:
woodser 2023-11-14 09:52:03 -05:00
parent f9afd44345
commit dd71423d95
2 changed files with 8 additions and 6 deletions

View file

@ -1157,11 +1157,13 @@ public class TradeManager implements PersistedDataHost, DecryptedDirectMessageLi
} }
public List<Trade> getAllTrades() { public List<Trade> getAllTrades() {
List<Trade> trades = new ArrayList<Trade>(); synchronized (tradableList) {
trades.addAll(tradableList.getList()); List<Trade> trades = new ArrayList<Trade>();
trades.addAll(closedTradableManager.getClosedTrades()); trades.addAll(tradableList.getList());
trades.addAll(failedTradesManager.getObservableList()); trades.addAll(closedTradableManager.getClosedTrades());
return trades; trades.addAll(failedTradesManager.getObservableList());
return trades;
}
} }
public List<Trade> getOpenTrades() { public List<Trade> getOpenTrades() {

View file

@ -217,7 +217,7 @@ public class MainViewModel implements ViewModel, HavenoSetup.HavenoSetupListener
if (newValue) { if (newValue) {
tradeManager.applyTradePeriodState(); tradeManager.applyTradePeriodState();
tradeManager.getObservableList().forEach(trade -> { tradeManager.getOpenTrades().forEach(trade -> {
// check initialization error // check initialization error
if (trade.getInitError() != null) { if (trade.getInitError() != null) {