diff options
| author | Wladimir J. van der Laan <[email protected]> | 2019-02-27 11:28:31 +0100 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2019-02-27 12:00:19 +0100 |
| commit | 6f43ed4c5a3a7dde59eb291e22a09903289401d3 (patch) | |
| tree | c99167de7ea2c57449fc75b1dca2585a6d14497c | |
| parent | Merge #15471: rpc/gui: Remove 'Unknown block versions being mined' warning (diff) | |
| parent | gui: Fix async open wallet call order (diff) | |
| download | discoin-6f43ed4c5a3a7dde59eb291e22a09903289401d3.tar.xz discoin-6f43ed4c5a3a7dde59eb291e22a09903289401d3.zip | |
Merge #15462: gui: Fix async open wallet call order
a720a983015c9ef8cc814c16a5b9ef6379695817 gui: Fix async open wallet call order (João Barbosa)
Pull request description:
Fixes #15455. Must call `OpenWalletActivity::open` asynchronously only after all connections are made to the `OpenWalletActivity` instance, otherwise signals can be missed.
Tree-SHA512: 4e5fdbd09d2ca017ed07a1813c2707c09f96275f1498779804e322e0a4dbd7dcff0c2e9cd6ec18463cd427b88b192a8d02373de9edc2b03ba5e4b8484b264417
| -rw-r--r-- | src/qt/bitcoingui.cpp | 2 | ||||
| -rw-r--r-- | src/qt/walletcontroller.cpp | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index bc88dd5e0..abf9136ee 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -396,6 +396,8 @@ void BitcoinGUI::createActions() connect(activity, &OpenWalletActivity::opened, this, &BitcoinGUI::setCurrentWallet); connect(activity, &OpenWalletActivity::finished, activity, &QObject::deleteLater); connect(activity, &OpenWalletActivity::finished, dialog, &QObject::deleteLater); + bool invoked = QMetaObject::invokeMethod(activity, "open"); + assert(invoked); }); } }); diff --git a/src/qt/walletcontroller.cpp b/src/qt/walletcontroller.cpp index c532ffbbf..fab86a791 100644 --- a/src/qt/walletcontroller.cpp +++ b/src/qt/walletcontroller.cpp @@ -59,7 +59,6 @@ OpenWalletActivity* WalletController::openWallet(const std::string& name, QWidge { OpenWalletActivity* activity = new OpenWalletActivity(this, name); activity->moveToThread(&m_activity_thread); - QMetaObject::invokeMethod(activity, "open", Qt::QueuedConnection); return activity; } |