@@ -2789,6 +2789,13 @@ bool CChainState::ActivateBestChainStep(BlockValidationState& state, const CChai
27892789 return true ;
27902790}
27912791
2792+ static SynchronizationState GetSynchronizationState (bool init)
2793+ {
2794+ if (!init) return SynchronizationState::POST_INIT;
2795+ if (::fReindex ) return SynchronizationState::INIT_REINDEX;
2796+ return SynchronizationState::INIT_DOWNLOAD;
2797+ }
2798+
27922799static bool NotifyHeaderTip () LOCKS_EXCLUDED(cs_main) {
27932800 bool fNotify = false ;
27942801 bool fInitialBlockDownload = false ;
@@ -2806,7 +2813,7 @@ static bool NotifyHeaderTip() LOCKS_EXCLUDED(cs_main) {
28062813 }
28072814 // Send block tip changed notifications without cs_main
28082815 if (fNotify ) {
2809- uiInterface.NotifyHeaderTip (fInitialBlockDownload , pindexHeader);
2816+ uiInterface.NotifyHeaderTip (GetSynchronizationState ( fInitialBlockDownload ) , pindexHeader);
28102817 }
28112818 return fNotify ;
28122819}
@@ -2895,7 +2902,7 @@ bool CChainState::ActivateBestChain(BlockValidationState &state, const CChainPar
28952902 GetMainSignals ().UpdatedBlockTip (pindexNewTip, pindexFork, fInitialDownload );
28962903
28972904 // Always notify the UI if a new block tip was connected
2898- uiInterface.NotifyBlockTip (fInitialDownload , pindexNewTip);
2905+ uiInterface.NotifyBlockTip (GetSynchronizationState ( fInitialDownload ) , pindexNewTip);
28992906 }
29002907 }
29012908 // When we reach this point, we switched to a new tip (stored in pindexNewTip).
@@ -3086,7 +3093,7 @@ bool CChainState::InvalidateBlock(BlockValidationState& state, const CChainParam
30863093
30873094 // Only notify about a new block tip if the active chain was modified.
30883095 if (pindex_was_in_chain) {
3089- uiInterface.NotifyBlockTip (IsInitialBlockDownload (), to_mark_failed->pprev );
3096+ uiInterface.NotifyBlockTip (GetSynchronizationState ( IsInitialBlockDownload () ), to_mark_failed->pprev );
30903097 }
30913098 return true ;
30923099}
0 commit comments