diff options
author | Wladimir J. van der Laan <laanwj@protonmail.com> | 2019-10-26 13:00:01 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@protonmail.com> | 2019-10-26 13:00:16 +0200 |
commit | 9bd109b78d938dfe95d31d089e0c74061c30103f (patch) | |
tree | fa20da1a3ce254e1b0aba36af28d4d5da024a230 /src/qt/walletcontroller.cpp | |
parent | 3f875744cb61d63f010900dafdb7bbc451de5ead (diff) | |
parent | a8f5026d6d992fd8d72908c848c5028f0f9a8cd1 (diff) |
Merge #17120: gui: Fix start timer from non QThread
a8f5026d6d992fd8d72908c848c5028f0f9a8cd1 gui: Fix start timer from non QThread (João Barbosa)
Pull request description:
Fixes #16296.
ACKs for top commit:
laanwj:
code review ACK a8f5026d6d992fd8d72908c848c5028f0f9a8cd1
Tree-SHA512: d7b05ac88e188de16cbbe80cb2f773b7976ee07ee876ac94a93f9351856c4f3a9d66a531d3f3748d2dccff8c8d77d9d8227433069ed5909c32be2efeaa32f655
Diffstat (limited to 'src/qt/walletcontroller.cpp')
-rw-r--r-- | src/qt/walletcontroller.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/qt/walletcontroller.cpp b/src/qt/walletcontroller.cpp index a7edf442e5..4c253f8ddd 100644 --- a/src/qt/walletcontroller.cpp +++ b/src/qt/walletcontroller.cpp @@ -109,6 +109,12 @@ WalletModel* WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wal wallet_model->setParent(this); m_wallets.push_back(wallet_model); + // WalletModel::startPollBalance needs to be called in a thread managed by + // Qt because of startTimer. Considering the current thread can be a RPC + // thread, better delegate the calling to Qt with Qt::AutoConnection. + const bool called = QMetaObject::invokeMethod(wallet_model, "startPollBalance"); + assert(called); + connect(wallet_model, &WalletModel::unload, [this, wallet_model] { // Defer removeAndDeleteWallet when no modal widget is active. // TODO: remove this workaround by removing usage of QDiallog::exec. |