diff --git a/src/validation.cpp b/src/validation.cpp index f9cc7d78e1b..00c1bab501f 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -2982,7 +2982,7 @@ bool Chainstate::DisconnectTip(BlockValidationState& state, DisconnectedBlockTra // Let wallets know transactions went from 1-confirmed to // 0-confirmed or conflicted: if (m_chainman.m_options.signals) { - m_chainman.m_options.signals->BlockDisconnected(pblock, pindexDelete); + m_chainman.m_options.signals->BlockDisconnected(std::move(pblock), pindexDelete); } return true; } diff --git a/src/validationinterface.cpp b/src/validationinterface.cpp index 3e939de964e..45f38b3740b 100644 --- a/src/validationinterface.cpp +++ b/src/validationinterface.cpp @@ -241,12 +241,12 @@ void ValidationSignals::MempoolTransactionsRemovedForBlock(const std::vector& pblock, const CBlockIndex* pindex) +void ValidationSignals::BlockDisconnected(std::shared_ptr pblock, const CBlockIndex* pindex) { auto log_msg = LOG_MSG("%s: block hash=%s block height=%d", __func__, pblock->GetHash().ToString(), pindex->nHeight); - auto event = [pblock, pindex, this] { + auto event = [pblock = std::move(pblock), pindex, this] { m_internals->Iterate([&](CValidationInterface& callbacks) { callbacks.BlockDisconnected(pblock, pindex); }); }; ENQUEUE_AND_LOG_EVENT(std::move(event), std::move(log_msg)); diff --git a/src/validationinterface.h b/src/validationinterface.h index 641afd555be..8cfe41380ec 100644 --- a/src/validationinterface.h +++ b/src/validationinterface.h @@ -224,7 +224,7 @@ public: void TransactionRemovedFromMempool(const CTransactionRef&, MemPoolRemovalReason, uint64_t mempool_sequence); void MempoolTransactionsRemovedForBlock(const std::vector&, unsigned int nBlockHeight); void BlockConnected(const kernel::ChainstateRole&, std::shared_ptr, const CBlockIndex* pindex); - void BlockDisconnected(const std::shared_ptr &, const CBlockIndex* pindex); + void BlockDisconnected(std::shared_ptr, const CBlockIndex* pindex); void ChainStateFlushed(const kernel::ChainstateRole&, const CBlockLocator&); void BlockChecked(const std::shared_ptr&, const BlockValidationState&); void NewPoWValidBlock(const CBlockIndex *, const std::shared_ptr&);