Only call NotifyBlockTip when the active chain changes
Previously, if `invalidateblock` was called on a block in a branch, NotifyBlockTip would be called on that block's predecessor, creating an incorrect `rpc/blockchain.cpp:latestblock` value. Only call NotifyBlockTip if the chain being modified is activeChain.
This commit is contained in:
parent
152b7fb25f
commit
f98b543522
1 changed files with 5 additions and 1 deletions
|
@ -2731,7 +2731,11 @@ bool CChainState::InvalidateBlock(CValidationState& state, const CChainParams& c
|
||||||
}
|
}
|
||||||
|
|
||||||
InvalidChainFound(pindex);
|
InvalidChainFound(pindex);
|
||||||
|
|
||||||
|
// Only notify about a new block tip if the active chain was modified.
|
||||||
|
if (pindex_was_in_chain) {
|
||||||
uiInterface.NotifyBlockTip(IsInitialBlockDownload(), pindex->pprev);
|
uiInterface.NotifyBlockTip(IsInitialBlockDownload(), pindex->pprev);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
bool InvalidateBlock(CValidationState& state, const CChainParams& chainparams, CBlockIndex *pindex) {
|
bool InvalidateBlock(CValidationState& state, const CChainParams& chainparams, CBlockIndex *pindex) {
|
||||||
|
|
Loading…
Reference in a new issue