diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 7db0654d5f..733c2eeaa0 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -379,13 +379,13 @@ BitcoinApplication::~BitcoinApplication() #ifdef ENABLE_WALLET delete paymentServer; paymentServer = 0; + UnlockWallet.disconnect(boost::bind(unlockWallet, this, _1)); + #endif delete optionsModel; optionsModel = 0; delete platformStyle; platformStyle = 0; - UnlockWallet.disconnect(boost::bind(unlockWallet, this, _1)); - } #ifdef ENABLE_WALLET diff --git a/src/rpc/server.cpp b/src/rpc/server.cpp index 2559a29a00..88c97abee2 100644 --- a/src/rpc/server.cpp +++ b/src/rpc/server.cpp @@ -539,7 +539,7 @@ UniValue CRPCTable::execute(const JSONRPCRequest &request) const // Return immediately if in warmup { LOCK(cs_rpcWarmup); - if (fRPCInWarmup) + if (fRPCInWarmup && request.strMethod != "walletpassphrase") // TODO this is temp check and will be removed after spark transition throw JSONRPCError(RPC_IN_WARMUP, rpcWarmupStatus); } diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 7e086b3336..6224f1f5ac 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -512,6 +512,8 @@ void CWallet::RequestUnlock() { LogPrintf("Requesting wallet unlock\n"); UnlockWallet(this); + printf("Please unlock the wallet with your passphrase to allow spark wallet be created\nYou need to do this only one time.\n"); + fUnlockRequested.store(true); }