HomePhabricator

wallet: Fix unique_ptr usage in boost::signals2

Description

wallet: Fix unique_ptr usage in boost::signals2

Summary:

  • Drop signal CClientUIInterface::LoadWallet
  • gui: Fix duplicate wallet showing up

The slot BitcoinGUI::addWallet can be invoked twice for the same
WalletModel due to a concurrent wallet being loaded after the first connect():

cpp
 connect(wallet_controller, &WalletController::walletAdded, this, &BitcoinGUI::addWallet);
 connect(wallet_controller, &WalletController::walletRemoved, this, &BitcoinGUI::removeWallet);

 for (WalletModel* wallet_model : m_wallet_controller->getOpenWallets()) {
     addWallet(wallet_model);

This is a backport of Core PR16963

Because WalletFrame::addWallet already returns a bool, that part of the patch wasn't necessary.

Test Plan:

ninja all check-all

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D7699

Details

Provenance
Russell Yanofsky <russ@yanofsky.org>Authored on Sep 27 2019, 11:31
deadalnixCommitted on Oct 1 2020, 12:45
deadalnixPushed on Oct 1 2020, 12:45
Reviewer
Restricted Project
Differential Revision
D7699: wallet: Fix unique_ptr usage in boost::signals2
Parents
rABCd75704e2fa7e: remove walletmodel circular dependency
Branches
Unknown
Tags
Unknown