aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2011-05-22 17:12:20 +0200
committerPieter Wuille <pieter.wuille@gmail.com>2011-05-22 17:12:20 +0200
commit1c528eeee939cacc0c100e5ca1e2d4ddb3c50227 (patch)
treea515b2eba7a1ef43f1229e929ff89ec250b02395 /src/main.cpp
parent69a27a4ec68e7a2ea6e481b950d11f5aea42c814 (diff)
downloadbitcoin-1c528eeee939cacc0c100e5ca1e2d4ddb3c50227.tar.xz
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.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 68b6b4ee1b..f030eed651 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;