diff --git a/src/init.cpp b/src/init.cpp index 8c86bff11..880c8bce1 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -88,7 +88,8 @@ public: void Close() override {} }; -std::unique_ptr g_wallet_init_interface(new DummyWalletInit); +static DummyWalletInit g_dummy_wallet_init; +WalletInitInterface* const g_wallet_init_interface = &g_dummy_wallet_init; #endif #if ENABLE_ZMQ @@ -283,7 +284,6 @@ void Shutdown() GetMainSignals().UnregisterBackgroundSignalScheduler(); GetMainSignals().UnregisterWithMempoolSignals(mempool); g_wallet_init_interface->Close(); - g_wallet_init_interface.reset(); globalVerifyHandle.reset(); ECC_Stop(); LogPrintf("%s: done\n", __func__); diff --git a/src/init.h b/src/init.h index c93a21015..829c11011 100644 --- a/src/init.h +++ b/src/init.h @@ -13,7 +13,7 @@ class CScheduler; class CWallet; class WalletInitInterface; -extern std::unique_ptr g_wallet_init_interface; +extern WalletInitInterface* const g_wallet_init_interface; namespace boost { diff --git a/src/wallet/init.cpp b/src/wallet/init.cpp index fd6c8cc0c..c860eede0 100644 --- a/src/wallet/init.cpp +++ b/src/wallet/init.cpp @@ -4,6 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include +#include #include #include #include @@ -46,7 +47,8 @@ public: void Close() override; }; -std::unique_ptr g_wallet_init_interface(new WalletInit); +static WalletInit g_wallet_init; +WalletInitInterface* const g_wallet_init_interface = &g_wallet_init; std::string WalletInit::GetHelpString(bool showDebug) {