diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index bfcdf6f3164..c9a32dcd90b 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -228,9 +228,6 @@ BitcoinGUI::BitcoinGUI(interfaces::Node& node, const PlatformStyle *_platformSty BitcoinGUI::~BitcoinGUI() { - // Unsubscribe from notifications from core - unsubscribeFromCoreSignals(); - QSettings settings; settings.setValue("MainWindowGeometry", saveGeometry()); if(trayIcon) // Hide tray icon, as deleting will let it linger until quit (on Ubuntu) diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index f41da519dfc..f33a741f7be 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -69,8 +69,6 @@ ClientModel::ClientModel(interfaces::Node& node, OptionsModel *_optionsModel, QO ClientModel::~ClientModel() { - unsubscribeFromCoreSignals(); - m_thread->quit(); m_thread->wait(); } @@ -272,17 +270,6 @@ void ClientModel::subscribeToCoreSignals() }); } -void ClientModel::unsubscribeFromCoreSignals() -{ - m_handler_show_progress->disconnect(); - m_handler_notify_num_connections_changed->disconnect(); - m_handler_notify_network_active_changed->disconnect(); - m_handler_notify_alert_changed->disconnect(); - m_handler_banned_list_changed->disconnect(); - m_handler_notify_block_tip->disconnect(); - m_handler_notify_header_tip->disconnect(); -} - bool ClientModel::getProxyInfo(std::string& ip_port) const { Proxy ipv4, ipv6; diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h index b10ffb4523b..386136bed95 100644 --- a/src/qt/clientmodel.h +++ b/src/qt/clientmodel.h @@ -107,7 +107,6 @@ class ClientModel : public QObject void TipChanged(SynchronizationState sync_state, interfaces::BlockTip tip, double verification_progress, bool header); void subscribeToCoreSignals(); - void unsubscribeFromCoreSignals(); Q_SIGNALS: void numConnectionsChanged(int count); diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 4312b3cd24d..9497d54ed3c 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -266,7 +266,6 @@ TransactionTableModel::TransactionTableModel(const PlatformStyle *_platformStyle TransactionTableModel::~TransactionTableModel() { - unsubscribeFromCoreSignals(); delete priv; } @@ -754,10 +753,3 @@ void TransactionTableModel::subscribeToCoreSignals() priv->DispatchNotifications(); }); } - -void TransactionTableModel::unsubscribeFromCoreSignals() -{ - // Disconnect signals from wallet - m_handler_transaction_changed->disconnect(); - m_handler_show_progress->disconnect(); -} diff --git a/src/qt/transactiontablemodel.h b/src/qt/transactiontablemodel.h index f8576edd59c..5d9514b9128 100644 --- a/src/qt/transactiontablemodel.h +++ b/src/qt/transactiontablemodel.h @@ -93,7 +93,6 @@ class TransactionTableModel : public QAbstractTableModel const PlatformStyle *platformStyle; void subscribeToCoreSignals(); - void unsubscribeFromCoreSignals(); QString lookupAddress(const std::string &address, bool tooltip) const; QVariant addressColor(const TransactionRecord *wtx) const; diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 1f6c90af4ad..1c0a96853c7 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -60,11 +60,6 @@ WalletModel::WalletModel(std::unique_ptr wallet, ClientModel subscribeToCoreSignals(); } -WalletModel::~WalletModel() -{ - unsubscribeFromCoreSignals(); -} - void WalletModel::startPollBalance() { // This timer will be fired repeatedly to update the balance @@ -420,18 +415,6 @@ void WalletModel::subscribeToCoreSignals() m_handler_can_get_addrs_changed = m_wallet->handleCanGetAddressesChanged(std::bind(NotifyCanGetAddressesChanged, this)); } -void WalletModel::unsubscribeFromCoreSignals() -{ - // Disconnect signals from wallet - m_handler_unload->disconnect(); - m_handler_status_changed->disconnect(); - m_handler_address_book_changed->disconnect(); - m_handler_transaction_changed->disconnect(); - m_handler_show_progress->disconnect(); - m_handler_watch_only_changed->disconnect(); - m_handler_can_get_addrs_changed->disconnect(); -} - // WalletModel::UnlockContext implementation WalletModel::UnlockContext WalletModel::requestUnlock() { diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 540fdaafe3c..771d8b7e48b 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -14,9 +14,11 @@ #include +#include #include #include +#include #include #include @@ -55,7 +57,6 @@ class WalletModel : public QObject public: explicit WalletModel(std::unique_ptr wallet, ClientModel& client_model, const PlatformStyle *platformStyle, QObject *parent = nullptr); - ~WalletModel(); enum StatusCode // Returned by sendCoins { @@ -111,7 +112,7 @@ class WalletModel : public QObject bool setWalletLocked(bool locked, const SecureString &passPhrase=SecureString()); bool changePassphrase(const SecureString &oldPass, const SecureString &newPass); - // RAI object for unlocking wallet, returned by requestUnlock() + // RAII object for unlocking wallet, returned by requestUnlock() class UnlockContext { public: @@ -187,7 +188,6 @@ class WalletModel : public QObject uint256 m_cached_last_update_tip{}; void subscribeToCoreSignals(); - void unsubscribeFromCoreSignals(); void checkBalanceChanged(const interfaces::WalletBalances& new_balances); Q_SIGNALS: