Skip to content

Commit 3755dea

Browse files
committed
Merge bitcoin/bitcoin#22781: wallet: fix the behavior of IsHDEnabled, return false in case of a blank hd wallet.
8733a8e 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 8733a8e hebasto: ACK 8733a8e theStack: utACK 8733a8e meshcollider: utACK 8733a8e Tree-SHA512: 79b976594f7174d05c29fe3819037ead59aaef27498d95415ceba74d633a8e035f6b03b521000ac3370684a8cb09319d8be1a443ce2d29b3ff4089e399f6b719
2 parents eb09c26 + 8733a8e commit 3755dea

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/wallet/wallet.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,9 +1364,10 @@ CAmount CWallet::GetDebit(const CTransaction& tx, const isminefilter& filter) co
13641364
bool CWallet::IsHDEnabled() const
13651365
{
13661366
// All Active ScriptPubKeyMans must be HD for this to be true
1367-
bool result = true;
1367+
bool result = false;
13681368
for (const auto& spk_man : GetActiveScriptPubKeyMans()) {
1369-
result &= spk_man->IsHDEnabled();
1369+
if (!spk_man->IsHDEnabled()) return false;
1370+
result = true;
13701371
}
13711372
return result;
13721373
}

0 commit comments

Comments
 (0)