sw/source/core/inc/rolbck.hxx | 6 ++---- sw/source/core/undo/rolbck.cxx | 21 ++++++++------------- 2 files changed, 10 insertions(+), 17 deletions(-)
New commits: commit 9ccfe6645cd92b6eb870bfe3d6484c7318c75af4 Author: Bjoern Michaelsen <bjoern.michael...@libreoffice.org> AuthorDate: Thu Sep 10 21:13:37 2020 +0200 Commit: Bjoern Michaelsen <bjoern.michael...@libreoffice.org> CommitDate: Sun Sep 13 10:50:43 2020 +0200 SwRegHistory: SwClient no more Change-Id: Ifd43ff792612baba104d4cf09e3ee9bb6ed1c7a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102409 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <bjoern.michael...@libreoffice.org> diff --git a/sw/source/core/inc/rolbck.hxx b/sw/source/core/inc/rolbck.hxx index 3a87e24bd705..087ef74b58d2 100644 --- a/sw/source/core/inc/rolbck.hxx +++ b/sw/source/core/inc/rolbck.hxx @@ -408,7 +408,7 @@ public: void dumpAsXml(xmlTextWriterPtr pWriter) const; }; -class SwRegHistory : public SwClient +class SwRegHistory final: public SwClient { private: o3tl::sorted_vector<sal_uInt16> m_WhichIdSet; @@ -417,13 +417,11 @@ private: void MakeSetWhichIds(); -protected: - virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew ) override; - public: SwRegHistory( SwHistory* pHst ); SwRegHistory( const SwNode& rNd, SwHistory* pHst ); SwRegHistory( SwModify* pRegIn, const SwNode& rNd, SwHistory* pHst ); + virtual void SwClientNotify(const SwModify&, const SfxHint& rHint) override; /// @return true if at least 1 item was inserted bool InsertItems( const SfxItemSet& rSet, diff --git a/sw/source/core/undo/rolbck.cxx b/sw/source/core/undo/rolbck.cxx index 8781efef0f05..f26980f752f6 100644 --- a/sw/source/core/undo/rolbck.cxx +++ b/sw/source/core/undo/rolbck.cxx @@ -1378,32 +1378,27 @@ SwRegHistory::SwRegHistory( const SwNode& rNd, SwHistory* pHst ) MakeSetWhichIds(); } -void SwRegHistory::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew ) +void SwRegHistory::SwClientNotify(const SwModify&, const SfxHint& rHint) { - if ( !(m_pHistory && pNew && pOld != pNew) ) + auto pLegacyHint = dynamic_cast<const sw::LegacyModifyHint*>(&rHint); + if ( !(m_pHistory && pLegacyHint && pLegacyHint->m_pNew && pLegacyHint->m_pOld != pLegacyHint->m_pNew) ) return; - if ( pNew->Which() < POOLATTR_END ) + if ( pLegacyHint->m_pNew->Which() < POOLATTR_END ) { - if(RES_UPDATE_ATTR == pNew->Which()) + if(RES_UPDATE_ATTR == pLegacyHint->m_pNew->Which()) { - // const SfxItemPool& rPool = static_cast< const SwUpdateAttr* >(pNew)->GetSfxItemPool(); - - m_pHistory->Add( - // rPool, - pOld, - pNew, - m_nNodeIndex); + m_pHistory->Add(pLegacyHint->m_pOld, pLegacyHint->m_pNew, m_nNodeIndex); } else { OSL_ENSURE(false, "Unexpected update attribute (!)"); } } - else if (pOld && RES_ATTRSET_CHG == pNew->Which()) + else if (pLegacyHint->m_pOld && RES_ATTRSET_CHG == pLegacyHint->m_pNew->Which()) { std::unique_ptr<SwHistoryHint> pNewHstr; - const SfxItemSet& rSet = *static_cast< const SwAttrSetChg* >(pOld)->GetChgSet(); + const SfxItemSet& rSet = *static_cast< const SwAttrSetChg* >(pLegacyHint->m_pOld)->GetChgSet(); if ( 1 < rSet.Count() ) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits