From da2ede2aa68ba14e1228b61e41a5840669560eee Mon Sep 17 00:00:00 2001 From: Cozz Lovan Date: Thu, 14 Aug 2014 16:15:09 +0200 Subject: [PATCH] [Wallet] Improve ReorderTransactions(..) --- src/walletdb.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/walletdb.cpp b/src/walletdb.cpp index a95baf83d..d55ed374c 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -278,8 +278,12 @@ CWalletDB::ReorderTransactions(CWallet* pwallet) nOrderPos = nOrderPosNext++; nOrderPosOffsets.push_back(nOrderPos); - if (pacentry) - // Have to write accounting regardless, since we don't keep it in memory + if (pwtx) + { + if (!WriteTx(pwtx->GetHash(), *pwtx)) + return DB_LOAD_FAIL; + } + else if (!WriteAccountingEntry(pacentry->nEntryNo, *pacentry)) return DB_LOAD_FAIL; } @@ -308,6 +312,7 @@ CWalletDB::ReorderTransactions(CWallet* pwallet) return DB_LOAD_FAIL; } } + WriteOrderPosNext(nOrderPosNext); return DB_LOAD_OK; }