diff options
| author | Pieter Wuille <[email protected]> | 2011-05-22 17:12:20 +0200 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2011-05-22 17:12:20 +0200 |
| commit | 1c528eeee939cacc0c100e5ca1e2d4ddb3c50227 (patch) | |
| tree | a515b2eba7a1ef43f1229e929ff89ec250b02395 /src/main.cpp | |
| parent | irc: #bitcoin is overflowing. split up into 100 randomly-joined channels. (diff) | |
| download | discoin-1c528eeee939cacc0c100e5ca1e2d4ddb3c50227.tar.xz discoin-1c528eeee939cacc0c100e5ca1e2d4ddb3c50227.zip | |
Update transactions already in the wallet when rescanning.
When rescanning, if the scanned transaction is already in the wallet, it
is skipped. However, if someone sends a transaction, does not wait for
confirmation, switches wallets, waits for a block that contains his original
transaction, and switches wallets again, a rescan will leave his wallet
transaction (which has no merkle branch, so no confirmations) untouched.
Diffstat (limited to 'src/main.cpp')
| -rw-r--r-- | src/main.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp index 68b6b4ee1..f030eed65 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -884,7 +884,7 @@ bool CWalletTx::AcceptWalletTransaction(CTxDB& txdb, bool fCheckInputs) return false; } -int ScanForWalletTransactions(CBlockIndex* pindexStart) +int ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate) { int ret = 0; @@ -897,7 +897,7 @@ int ScanForWalletTransactions(CBlockIndex* pindexStart) block.ReadFromDisk(pindex, true); BOOST_FOREACH(CTransaction& tx, block.vtx) { - if (AddToWalletIfInvolvingMe(tx, &block)) + if (AddToWalletIfInvolvingMe(tx, &block, fUpdate)) ret++; } pindex = pindex->pnext; |