|
|
|
@ -2606,6 +2606,10 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
@@ -2606,6 +2606,10 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
|
|
|
|
|
// When we reach this point, we switched to a new tip (stored in pindexNewTip).
|
|
|
|
|
|
|
|
|
|
// Notifications/callbacks that can run without cs_main
|
|
|
|
|
// Always notify the UI if a new block tip was connected
|
|
|
|
|
if (pindexFork != pindexNewTip) { |
|
|
|
|
uiInterface.NotifyBlockTip(fInitialDownload, pindexNewTip); |
|
|
|
|
|
|
|
|
|
if (!fInitialDownload) { |
|
|
|
|
// Find the hashes of all blocks that weren't previously in the best chain.
|
|
|
|
|
std::vector<uint256> vHashes; |
|
|
|
@ -2638,8 +2642,7 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
@@ -2638,8 +2642,7 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
|
|
|
|
|
GetMainSignals().UpdatedBlockTip(pindexNewTip); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// Always notify the UI if a new block tip was connected
|
|
|
|
|
uiInterface.NotifyBlockTip(fInitialDownload, pindexNewTip); |
|
|
|
|
} |
|
|
|
|
} while(pindexMostWork != chainActive.Tip()); |
|
|
|
|
CheckBlockIndex(chainparams.GetConsensus()); |
|
|
|
|
|
|
|
|
|