Skip to content

Commit 6579d80

Browse files
author
MarcoFalke
committed
Merge #13506: Qt: load wallet in UI after possible init aborts
3a03d2a Qt: load wallet in UI after possible init aborts (Jonas Schnelli) Pull request description: Bug was introduced in #13063 (80b4910) where #13097 made possible to get "hit" by that bug. Reported by @ken2812221 (bitcoin/bitcoin#13097 (comment)). Dynamically loading a wallet informs the UI (and therefore makes the instance accessible) about the new wallet before all possible error cases where handled. Easy to reproduce by starting `bitcoin-qt --regtest --nowallet -usehd=0` then in the console enter `loadwallet wallet.dat`. This PR will make sure only correctly initialised (loaded) wallets will appear in the UI. Tree-SHA512: 3139545e852d53b117182b579f45259c198d1c25c1a6fa4e0108f942d45f6fe2691e6bfcbbae2e18c33ad0174a520f379c17867b1eb87f950d830a5f519fec4f
2 parents 3f398d7 + 3a03d2a commit 6579d80

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/wallet/wallet.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4095,8 +4095,6 @@ std::shared_ptr<CWallet> CWallet::CreateWalletFromFile(const std::string& name,
40954095
}
40964096
}
40974097

4098-
uiInterface.LoadWallet(walletInstance);
4099-
41004098
int prev_version = walletInstance->nWalletVersion;
41014099
if (gArgs.GetBoolArg("-upgradewallet", fFirstRun))
41024100
{
@@ -4346,6 +4344,8 @@ std::shared_ptr<CWallet> CWallet::CreateWalletFromFile(const std::string& name,
43464344
}
43474345
}
43484346

4347+
uiInterface.LoadWallet(walletInstance);
4348+
43494349
// Register with the validation interface. It's ok to do this after rescan since we're still holding cs_main.
43504350
RegisterValidationInterface(walletInstance.get());
43514351

0 commit comments

Comments
 (0)