[Libreoffice-commits] core.git: sw/inc sw/source

Bjoern Michaelsen (via logerrit) logerrit at kemper.freedesktop.org
Wed Nov 11 23:12:21 UTC 2020


 sw/inc/calbck.hxx                            |   10 ++++++++--
 sw/source/core/attr/calbck.cxx               |    4 ++--
 sw/source/core/attr/format.cxx               |    2 +-
 sw/source/core/crsr/callnk.cxx               |    2 +-
 sw/source/core/doc/DocumentFieldsManager.cxx |    2 +-
 sw/source/core/doc/DocumentTimerManager.cxx  |    2 +-
 sw/source/core/doc/docfmt.cxx                |    4 ++--
 sw/source/core/docnode/section.cxx           |    2 +-
 sw/source/core/graphic/ndgrf.cxx             |    6 +++---
 sw/source/core/para/paratr.cxx               |    2 +-
 sw/source/core/undo/untbl.cxx                |    2 +-
 11 files changed, 22 insertions(+), 16 deletions(-)

New commits:
commit ab72e9fe38b5d30bd1a0393e1611ae969919908f
Author:     Bjoern Michaelsen <bjoern.michaelsen at libreoffice.org>
AuthorDate: Tue Nov 10 22:40:47 2020 +0100
Commit:     Bjoern Michaelsen <bjoern.michaelsen at libreoffice.org>
CommitDate: Thu Nov 12 00:11:29 2020 +0100

    Make SwClientNotifyCall protected
    
    Change-Id: I1da6cd45c5039f2b36ae6d8a64febc69eda9c6d5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105569
    Tested-by: Jenkins
    Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen at libreoffice.org>

diff --git a/sw/inc/calbck.hxx b/sw/inc/calbck.hxx
index 8550a3be543f..8fbb2e87e0b2 100644
--- a/sw/inc/calbck.hxx
+++ b/sw/inc/calbck.hxx
@@ -136,6 +136,9 @@ protected:
     // write access to pRegisteredIn shall be granted only to the object itself (protected access)
     SwModify* GetRegisteredInNonConst() const { return m_pRegisteredIn; }
 
+    // when overriding this, you MUST call SwClient::SwClientModify() in the override!
+    virtual void SwClientNotify(const SwModify&, const SfxHint& rHint) override;
+
 public:
     SwClient() : m_pRegisteredIn(nullptr) {}
     SwClient(SwClient&&) noexcept;
@@ -145,13 +148,16 @@ public:
     // mba: IMHO this method should be pure virtual
     // DO NOT USE IN NEW CODE! use SwClientNotify instead.
     virtual void Modify(const SfxPoolItem*, const SfxPoolItem*);
-    // when overriding this, you MUST call SwClient::SwClientModify() in the override!
-    virtual void SwClientNotify(const SwModify&, const SfxHint& rHint) override;
+
 
     // in case an SwModify object is destroyed that itself is registered in another SwModify,
     // its SwClient objects can decide to get registered to the latter instead by calling this method
     std::unique_ptr<sw::ModifyChangedHint> CheckRegistration( const SfxPoolItem* pOldValue );
 
+    // DO NOT USE IN NEW CODE! Used to directly call the event handler from
+    // outside the class. It is generally wrong to call the message handler
+    // directly: either it should be a proper stand-alone member function
+    // or by the observed object sending the hint properly itself.
     void SwClientNotifyCall( const SwModify& rModify, const SfxHint& rHint ) { SwClientNotify( rModify, rHint ); }
 
     const SwModify* GetRegisteredIn() const { return m_pRegisteredIn; }
diff --git a/sw/source/core/attr/calbck.cxx b/sw/source/core/attr/calbck.cxx
index 999085404da1..675c4e54993b 100644
--- a/sw/source/core/attr/calbck.cxx
+++ b/sw/source/core/attr/calbck.cxx
@@ -46,7 +46,7 @@ namespace sw
             {
                 auto pModifyChanged = CheckRegistration(pLegacyHint->m_pOld);
                 if (pModifyChanged)
-                    m_pToTell->SwClientNotify(rModify, *pModifyChanged);
+                    m_pToTell->SwClientNotifyCall(rModify, *pModifyChanged);
             }
             else if (m_pToTell)
                 m_pToTell->SwClientNotifyCall(rModify, rHint);
@@ -378,6 +378,6 @@ void sw::ClientNotifyAttrChg(SwModify& rModify, const SwAttrSet& aSet, SwAttrSet
     const SwAttrSetChg aChgOld(aSet, aOld);
     const SwAttrSetChg aChgNew(aSet, aNew);
     const sw::LegacyModifyHint aHint(&aChgOld, &aChgNew);
-    rModify.SwClientNotify(rModify, aHint);
+    rModify.SwClientNotifyCall(rModify, aHint);
 }
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/attr/format.cxx b/sw/source/core/attr/format.cxx
index 22430f84b125..459f66ccd3f2 100644
--- a/sw/source/core/attr/format.cxx
+++ b/sw/source/core/attr/format.cxx
@@ -236,7 +236,7 @@ SwFormat::~SwFormat()
             SAL_INFO("sw.core", "reparenting " << typeid(*pClient).name() << " at " << pClient << " from " << typeid(*this).name() << " at " << this << " to "  << typeid(*pParentFormat).name() << " at " << pParentFormat);
             pParentFormat->Add( pClient );
             const sw::LegacyModifyHint aHint(&aOldFormat, &aNewFormat);
-            pClient->SwClientNotify(*this, aHint);
+            pClient->SwClientNotifyCall(*this, aHint);
         }
     }
 }
diff --git a/sw/source/core/crsr/callnk.cxx b/sw/source/core/crsr/callnk.cxx
index de888d63ab47..d44ff1c8ed19 100644
--- a/sw/source/core/crsr/callnk.cxx
+++ b/sw/source/core/crsr/callnk.cxx
@@ -87,7 +87,7 @@ static void lcl_notifyRow(const SwContentNode* pNode, SwCursorShell & rShell)
 
     SwFormatFrameSize aSize = pLine->GetFrameFormat()->GetFrameSize();
     sw::BroadcastingModify aMod;
-    pRow->SwClientNotify(aMod, sw::LegacyModifyHint(nullptr, &aSize));
+    pRow->SwClientNotifyCall(aMod, sw::LegacyModifyHint(nullptr, &aSize));
 }
 
 SwCallLink::~SwCallLink() COVERITY_NOEXCEPT_FALSE
diff --git a/sw/source/core/doc/DocumentFieldsManager.cxx b/sw/source/core/doc/DocumentFieldsManager.cxx
index 2f3da10fbf97..bafe9c29fb00 100644
--- a/sw/source/core/doc/DocumentFieldsManager.cxx
+++ b/sw/source/core/doc/DocumentFieldsManager.cxx
@@ -182,7 +182,7 @@ namespace
     void lcl_SwClientNotify(sw::BroadcastingModify& rModify, const SfxPoolItem* pNew)
     {
         const sw::LegacyModifyHint aHint(nullptr, pNew);
-        rModify.SwClientNotify(rModify, aHint);
+        rModify.SwClientNotifyCall(rModify, aHint);
     }
 }
 
diff --git a/sw/source/core/doc/DocumentTimerManager.cxx b/sw/source/core/doc/DocumentTimerManager.cxx
index dde164bb142f..656c98055e72 100644
--- a/sw/source/core/doc/DocumentTimerManager.cxx
+++ b/sw/source/core/doc/DocumentTimerManager.cxx
@@ -195,7 +195,7 @@ IMPL_LINK_NOARG( DocumentTimerManager, DoIdleJobs, Timer*, void )
         pShell->LockView( true );
 
         auto pChapterFieldType = m_rDoc.getIDocumentFieldsAccess().GetSysFieldType( SwFieldIds::Chapter );
-        pChapterFieldType->SwClientNotify(*pChapterFieldType, sw::LegacyModifyHint( nullptr, nullptr ));  // ChapterField
+        pChapterFieldType->SwClientNotifyCall(*pChapterFieldType, sw::LegacyModifyHint( nullptr, nullptr ));  // ChapterField
         m_rDoc.getIDocumentFieldsAccess().UpdateExpFields( nullptr, false );  // Updates ExpressionFields
         m_rDoc.getIDocumentFieldsAccess().UpdateTableFields(nullptr);  // Tables
         m_rDoc.getIDocumentFieldsAccess().UpdateRefFields();  // References
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
index 2bcf4f2b0ce7..94f6416878c8 100644
--- a/sw/source/core/doc/docfmt.cxx
+++ b/sw/source/core/doc/docfmt.cxx
@@ -629,7 +629,7 @@ void SwDoc::SetDefault( const SfxItemSet& rSet )
             {
                 SwFormatChg aChgFormat( mpDfltCharFormat.get() );
                 // notify the frames
-                aCallMod.SwClientNotify(aCallMod, sw::LegacyModifyHint( &aChgFormat, &aChgFormat ));
+                aCallMod.SwClientNotifyCall(aCallMod, sw::LegacyModifyHint( &aChgFormat, &aChgFormat ));
             }
         }
     }
@@ -638,7 +638,7 @@ void SwDoc::SetDefault( const SfxItemSet& rSet )
     {
         SwAttrSetChg aChgOld( aOld, aOld );
         SwAttrSetChg aChgNew( aNew, aNew );
-        aCallMod.SwClientNotify(aCallMod, sw::LegacyModifyHint( &aChgOld, &aChgNew ));      // all changed are sent
+        aCallMod.SwClientNotifyCall(aCallMod, sw::LegacyModifyHint( &aChgOld, &aChgNew ));      // all changed are sent
     }
 
     // remove the default formats from the object again
diff --git a/sw/source/core/docnode/section.cxx b/sw/source/core/docnode/section.cxx
index c22469501045..a59b9cffaa71 100644
--- a/sw/source/core/docnode/section.cxx
+++ b/sw/source/core/docnode/section.cxx
@@ -70,7 +70,7 @@ namespace {
     void lcl_SwClientNotify(sw::BroadcastingModify& rModify, const SfxPoolItem* pOldNew)
     {
         const sw::LegacyModifyHint aHint(pOldNew, pOldNew);
-        rModify.SwClientNotify(rModify, aHint);
+        rModify.SwClientNotifyCall(rModify, aHint);
     }
 
     class SwIntrnlSectRefLink : public SwBaseLink
diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx
index f4ab419cbff1..1f894a90de8c 100644
--- a/sw/source/core/graphic/ndgrf.cxx
+++ b/sw/source/core/graphic/ndgrf.cxx
@@ -58,7 +58,7 @@ namespace
     void lcl_SwClientNotify(sw::BroadcastingModify& rModify, const SfxPoolItem& rOldNew)
     {
         const sw::LegacyModifyHint aHint(&rOldNew, &rOldNew);
-        rModify.SwClientNotify(rModify, aHint);
+        rModify.SwClientNotifyCall(rModify, aHint);
     }
 }
 SwGrfNode::SwGrfNode(
@@ -381,12 +381,12 @@ void SwGrfNode::TriggerGraphicArrived()
         SwIterator<sw::BroadcastingModify,SwGrfNode> aIter(*this);
         for(sw::BroadcastingModify* pLast = aIter.First(); pLast; pLast = aIter.Next())
             if(dynamic_cast<const SwContentFrame*>(pLast) ==  nullptr)
-                pLast->SwClientNotify(*this, sw::LegacyModifyHint(&aMsgHint, &aMsgHint));
+                pLast->SwClientNotifyCall(*this, sw::LegacyModifyHint(&aMsgHint, &aMsgHint));
     }
     {
         SwIterator<SwContentFrame,SwGrfNode> aIter(*this);
         for(SwContentFrame* pLast = aIter.First(); pLast; pLast = aIter.Next())
-            pLast->SwClientNotify(*this, sw::LegacyModifyHint(&aMsgHint, &aMsgHint));
+            pLast->SwClientNotifyCall(*this, sw::LegacyModifyHint(&aMsgHint, &aMsgHint));
     }
     UnlockModify();
 }
diff --git a/sw/source/core/para/paratr.cxx b/sw/source/core/para/paratr.cxx
index 60df4bbdb5e7..08be02090f0d 100644
--- a/sw/source/core/para/paratr.cxx
+++ b/sw/source/core/para/paratr.cxx
@@ -77,7 +77,7 @@ void SwFormatDrop::SwClientNotify(const SwModify&, const SfxHint&)
     if(dynamic_cast<const SwFormat*>(m_pDefinedIn) == nullptr)
     {
         sw::BroadcastingModify aMod;
-        m_pDefinedIn->SwClientNotify(aMod, sw::LegacyModifyHint(this, this));
+        m_pDefinedIn->SwClientNotifyCall(aMod, sw::LegacyModifyHint(this, this));
     }
     else if(m_pDefinedIn->HasWriterListeners() && !m_pDefinedIn->IsModifyLocked())
     {
diff --git a/sw/source/core/undo/untbl.cxx b/sw/source/core/undo/untbl.cxx
index 8710d3148a5a..462ca92b0d20 100644
--- a/sw/source/core/undo/untbl.cxx
+++ b/sw/source/core/undo/untbl.cxx
@@ -1117,7 +1117,7 @@ void SaveTable::NewFrameFormat( const SwTableLine* pTableLn, const SwTableBox* p
         const SfxPoolItem& rOld = pOldFormat->GetFormatAttr( RES_BOXATR_FORMAT ),
                          & rNew = pFormat->GetFormatAttr( RES_BOXATR_FORMAT );
         if( rOld != rNew )
-            pFormat->SwClientNotify(*pFormat, sw::LegacyModifyHint(&rOld, &rNew));
+            pFormat->SwClientNotifyCall(*pFormat, sw::LegacyModifyHint(&rOld, &rNew));
     }
 
     if( !pOldFormat->HasWriterListeners() )


More information about the Libreoffice-commits mailing list