mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 02:25:40 +01:00
qt: Improve comments in WalletController::getOrCreateWallet()
This commit is contained in:
parent
5fcfee68af
commit
8963b2c71f
@ -128,8 +128,14 @@ WalletModel* WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wal
|
||||
}
|
||||
|
||||
// Instantiate model and register it.
|
||||
WalletModel* wallet_model = new WalletModel(std::move(wallet), m_client_model, m_platform_style, nullptr);
|
||||
// Handler callback runs in a different thread so fix wallet model thread affinity.
|
||||
WalletModel* wallet_model = new WalletModel(std::move(wallet), m_client_model, m_platform_style,
|
||||
nullptr /* required for the following moveToThread() call */);
|
||||
|
||||
// Move WalletModel object to the thread that created the WalletController
|
||||
// object (GUI main thread), instead of the current thread, which could be
|
||||
// an outside wallet thread or RPC thread sending a LoadWallet notification.
|
||||
// This ensures queued signals sent to the WalletModel object will be
|
||||
// handled on the GUI event loop.
|
||||
wallet_model->moveToThread(thread());
|
||||
// setParent(parent) must be called in the thread which created the parent object. More details in #18948.
|
||||
GUIUtil::ObjectInvoke(this, [wallet_model, this] {
|
||||
@ -161,7 +167,6 @@ WalletModel* WalletController::getOrCreateWallet(std::unique_ptr<interfaces::Wal
|
||||
// Re-emit coinsSent signal from wallet model.
|
||||
connect(wallet_model, &WalletModel::coinsSent, this, &WalletController::coinsSent);
|
||||
|
||||
// Notify walletAdded signal on the GUI thread.
|
||||
Q_EMIT walletAdded(wallet_model);
|
||||
|
||||
return wallet_model;
|
||||
|
Loading…
Reference in New Issue
Block a user