diff --git a/core/src/main/java/haveno/core/trade/Trade.java b/core/src/main/java/haveno/core/trade/Trade.java index aa2330a7..29df35e4 100644 --- a/core/src/main/java/haveno/core/trade/Trade.java +++ b/core/src/main/java/haveno/core/trade/Trade.java @@ -2637,6 +2637,9 @@ public abstract class Trade extends XmrWalletBase implements Tradable, Model { // poll wallet try { + // skip if shut down started + if (isShutDownStarted) return; + // skip if payout unlocked if (isPayoutUnlocked()) return; diff --git a/core/src/main/java/haveno/core/xmr/wallet/XmrWalletService.java b/core/src/main/java/haveno/core/xmr/wallet/XmrWalletService.java index 5a191068..26f300b7 100644 --- a/core/src/main/java/haveno/core/xmr/wallet/XmrWalletService.java +++ b/core/src/main/java/haveno/core/xmr/wallet/XmrWalletService.java @@ -1994,6 +1994,9 @@ public class XmrWalletService extends XmrWalletBase { // poll wallet try { + // skip if shut down started + if (isShutDownStarted) return; + // skip if daemon not synced MoneroDaemonInfo lastInfo = xmrConnectionService.getLastInfo(); if (lastInfo == null) { @@ -2059,16 +2062,16 @@ public class XmrWalletService extends XmrWalletBase { pollInProgress = false; } } + saveWalletWithDelay(); + } - // cache wallet info last - synchronized (walletLock) { - if (wallet != null && !isShutDownStarted) { - try { - cacheWalletInfo(); - saveWalletWithDelay(); - } catch (Exception e) { - log.warn("Error caching wallet info: " + e.getMessage() + "\n", e); - } + // cache wallet info last + synchronized (walletLock) { + if (wallet != null && !isShutDownStarted) { + try { + cacheWalletInfo(); + } catch (Exception e) { + log.warn("Error caching wallet info: " + e.getMessage() + "\n", e); } } }