AddToWalletIfInvolvingMe should test pIndex, not posInBlock
This commit is contained in:
parent
67023e9004
commit
714e4ad13d
1 changed files with 5 additions and 5 deletions
|
@ -957,9 +957,9 @@ bool CWallet::LoadToWallet(const CWalletTx& wtxIn)
|
|||
/**
|
||||
* Add a transaction to the wallet, or update it. pIndex and posInBlock should
|
||||
* be set when the transaction was known to be included in a block. When
|
||||
* posInBlock = SYNC_TRANSACTION_NOT_IN_BLOCK (-1) , then wallet state is not
|
||||
* updated in AddToWallet, but notifications happen and cached balances are
|
||||
* marked dirty.
|
||||
* pIndex == NULL, then wallet state is not updated in AddToWallet, but
|
||||
* notifications happen and cached balances are marked dirty.
|
||||
*
|
||||
* If fUpdate is true, existing transactions will be updated.
|
||||
* TODO: One exception to this is that the abandoned state is cleared under the
|
||||
* assumption that any further notification of a transaction that was considered
|
||||
|
@ -973,7 +973,7 @@ bool CWallet::AddToWalletIfInvolvingMe(const CTransactionRef& ptx, const CBlockI
|
|||
{
|
||||
AssertLockHeld(cs_wallet);
|
||||
|
||||
if (posInBlock != -1) {
|
||||
if (pIndex != NULL) {
|
||||
BOOST_FOREACH(const CTxIn& txin, tx.vin) {
|
||||
std::pair<TxSpends::const_iterator, TxSpends::const_iterator> range = mapTxSpends.equal_range(txin.prevout);
|
||||
while (range.first != range.second) {
|
||||
|
@ -993,7 +993,7 @@ bool CWallet::AddToWalletIfInvolvingMe(const CTransactionRef& ptx, const CBlockI
|
|||
CWalletTx wtx(this, ptx);
|
||||
|
||||
// Get merkle branch if transaction was found in a block
|
||||
if (posInBlock != -1)
|
||||
if (pIndex != NULL)
|
||||
wtx.SetMerkleBranch(pIndex, posInBlock);
|
||||
|
||||
return AddToWallet(wtx, false);
|
||||
|
|
Loading…
Reference in a new issue