aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfurszy <matiasfurszyfer@protonmail.com>2023-10-06 10:42:05 -0300
committerfurszy <matiasfurszyfer@protonmail.com>2023-10-13 17:40:32 -0300
commit7066e8996d0ac090535cc97cdcb54a219986460f (patch)
treecb57c6162c25630e46c705616ced6f6bcdab3779
parent78b7e955185ab92de4e1b8b866a46d3113a5fdf5 (diff)
gui: provide wallet controller context to wallet actions
Addressing potential crashes during shutdown. The most noticeable one can be triggered by hovering over the wallet list as the app shuts down.
-rw-r--r--src/qt/bitcoingui.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index 171b50d809..96cc5a3bf0 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -392,7 +392,7 @@ void BitcoinGUI::createActions()
connect(usedSendingAddressesAction, &QAction::triggered, walletFrame, &WalletFrame::usedSendingAddresses);
connect(usedReceivingAddressesAction, &QAction::triggered, walletFrame, &WalletFrame::usedReceivingAddresses);
connect(openAction, &QAction::triggered, this, &BitcoinGUI::openClicked);
- connect(m_open_wallet_menu, &QMenu::aboutToShow, [this] {
+ connect(m_open_wallet_menu, &QMenu::aboutToShow, m_wallet_controller, [this] {
m_open_wallet_menu->clear();
for (const std::pair<const std::string, bool>& i : m_wallet_controller->listWalletDir()) {
const std::string& path = i.first;
@@ -409,7 +409,7 @@ void BitcoinGUI::createActions()
continue;
}
- connect(action, &QAction::triggered, [this, path] {
+ connect(action, &QAction::triggered, m_wallet_controller, [this, path] {
auto activity = new OpenWalletActivity(m_wallet_controller, this);
connect(activity, &OpenWalletActivity::opened, this, &BitcoinGUI::setCurrentWallet, Qt::QueuedConnection);
connect(activity, &OpenWalletActivity::opened, rpcConsole, &RPCConsole::setCurrentWallet, Qt::QueuedConnection);
@@ -421,7 +421,7 @@ void BitcoinGUI::createActions()
action->setEnabled(false);
}
});
- connect(m_restore_wallet_action, &QAction::triggered, [this] {
+ connect(m_restore_wallet_action, &QAction::triggered, m_wallet_controller, [this] {
//: Name of the wallet data file format.
QString name_data_file = tr("Wallet Data");
@@ -447,14 +447,14 @@ void BitcoinGUI::createActions()
auto backup_file_path = fs::PathFromString(backup_file.toStdString());
activity->restore(backup_file_path, wallet_name.toStdString());
});
- connect(m_close_wallet_action, &QAction::triggered, [this] {
+ connect(m_close_wallet_action, &QAction::triggered, m_wallet_controller, [this] {
m_wallet_controller->closeWallet(walletFrame->currentWalletModel(), this);
});
connect(m_create_wallet_action, &QAction::triggered, this, &BitcoinGUI::createWallet);
- connect(m_close_all_wallets_action, &QAction::triggered, [this] {
+ connect(m_close_all_wallets_action, &QAction::triggered, m_wallet_controller, [this] {
m_wallet_controller->closeAllWallets(this);
});
- connect(m_migrate_wallet_action, &QAction::triggered, [this] {
+ connect(m_migrate_wallet_action, &QAction::triggered, m_wallet_controller, [this] {
auto activity = new MigrateWalletActivity(m_wallet_controller, this);
connect(activity, &MigrateWalletActivity::migrated, this, &BitcoinGUI::setCurrentWallet);
activity->migrate(walletFrame->currentWalletModel());