mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 04:22:55 +01:00
Merge bitcoin/bitcoin#22781: wallet: fix the behavior of IsHDEnabled, return false in case of a blank hd wallet.
8733a8e84c4b2e484f6ed6159fcf5f29a360d42e the result of CWallet::IsHDEnabled() was initialized with true. (Saibato) Pull request description: the result of CWallet::IsHDEnabled() was initialized with true. But in case of no keys or a blank hd wallet the iterator would be skipped and not set to false but true, since the loop would be not entered. That had resulted in a wrong return and subsequent false HD and watch-only icon display in GUi when reloading a wallet after closing. ACKs for top commit: achow101: ACK 8733a8e84c4b2e484f6ed6159fcf5f29a360d42e hebasto: ACK 8733a8e84c4b2e484f6ed6159fcf5f29a360d42e theStack: utACK 8733a8e84c4b2e484f6ed6159fcf5f29a360d42e meshcollider: utACK 8733a8e84c4b2e484f6ed6159fcf5f29a360d42e Tree-SHA512: 79b976594f7174d05c29fe3819037ead59aaef27498d95415ceba74d633a8e035f6b03b521000ac3370684a8cb09319d8be1a443ce2d29b3ff4089e399f6b719
This commit is contained in:
parent
0505229c89
commit
a9b1575fe8
@ -1617,9 +1617,10 @@ CAmount CWallet::GetChange(const CTransaction& tx) const
|
|||||||
bool CWallet::IsHDEnabled() const
|
bool CWallet::IsHDEnabled() const
|
||||||
{
|
{
|
||||||
// All Active ScriptPubKeyMans must be HD for this to be true
|
// All Active ScriptPubKeyMans must be HD for this to be true
|
||||||
bool result = true;
|
bool result = false;
|
||||||
for (const auto& spk_man : GetActiveScriptPubKeyMans()) {
|
for (const auto& spk_man : GetActiveScriptPubKeyMans()) {
|
||||||
result &= spk_man->IsHDEnabled();
|
if (!spk_man->IsHDEnabled()) return false;
|
||||||
|
result = true;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user