sw/inc/swevent.hxx | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-)
New commits: commit d589d0caa36f95db8a890e476b9337c9e98fe26d Author: Bjoern Michaelsen <[email protected]> AuthorDate: Sun Dec 6 00:13:42 2020 +0100 Commit: Bjoern Michaelsen <[email protected]> CommitDate: Sun Dec 6 01:56:49 2020 +0100 SwCallMouseEvent: Modify no more Change-Id: Ib15db54d8b3be64fbe37a4eb723bd97172a5b2a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107269 Tested-by: Jenkins Reviewed-by: Bjoern Michaelsen <[email protected]> diff --git a/sw/inc/swevent.hxx b/sw/inc/swevent.hxx index 558f834a9f9c..425db6b6e3f6 100644 --- a/sw/inc/swevent.hxx +++ b/sw/inc/swevent.hxx @@ -116,18 +116,24 @@ struct SwCallMouseEvent final bool HasEvent() const { return EVENT_OBJECT_NONE != eType; } - virtual void Modify(SfxPoolItem const*const pOldValue, SfxPoolItem const*const pNewValue) override + virtual void SwClientNotify(const SwModify& rMod, const SfxHint& rHint) override { + auto pLegacy = dynamic_cast<const sw::LegacyModifyHint*>(&rHint); + if(!pLegacy) + return; assert(EVENT_OBJECT_IMAGE == eType || EVENT_OBJECT_URLITEM == eType || EVENT_OBJECT_IMAGEMAP == eType); - SwClient::Modify(pOldValue, pNewValue); - if (!GetRegisteredIn() - || (RES_FMT_CHG == pOldValue->Which() - && static_cast<SwFormatChg const*>(pOldValue)->pChangedFormat == PTR.pFormat) - || (RES_REMOVE_UNO_OBJECT == pOldValue->Which() - && static_cast<SwPtrMsgPoolItem const*>(pOldValue)->pObject == PTR.pFormat)) + SwClient::SwClientNotify(rMod, rHint); + bool bClear = !GetRegisteredIn(); + switch(pLegacy->GetWhich()) { - Clear(); + case RES_FMT_CHG: + bClear |= static_cast<SwFormatChg const*>(pLegacy->m_pOld)->pChangedFormat == PTR.pFormat; + break; + case RES_REMOVE_UNO_OBJECT: + bClear |= static_cast<SwPtrMsgPoolItem const*>(pLegacy->m_pOld)->pObject == PTR.pFormat; } + if(bClear) + Clear(); } }; _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
