sfx2/source/view/lokhelper.cxx |   13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

New commits:
commit d8ea94047c203ba1f2e141a26457d32aa6695da5
Author:     Caolán McNamara <[email protected]>
AuthorDate: Wed Jul 23 19:21:03 2025 +0100
Commit:     Miklos Vajna <[email protected]>
CommitDate: Mon Jul 28 16:36:17 2025 +0200

    two arg lcl_generateJSON always derefs ViewShell
    
    Change-Id: Ib5069150acb0dc030a6ac326029155cf6c84c0b2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188288
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Miklos Vajna <[email protected]>

diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx
index 6e1445a28f1d..62d63e47de56 100644
--- a/sfx2/source/view/lokhelper.cxx
+++ b/sfx2/source/view/lokhelper.cxx
@@ -522,13 +522,12 @@ static OString lcl_sanitizeJSONAsValue(const OString 
&rStr)
     return aBuf.makeStringAndClear();
 }
 
-static OString lcl_generateJSON(const SfxViewShell* pView, const 
boost::property_tree::ptree& rTree)
+static OString lcl_generateJSON(const SfxViewShell& rView, const 
boost::property_tree::ptree& rTree)
 {
-    assert(pView != nullptr && "pView must be valid");
     boost::property_tree::ptree aMessageProps = rTree;
-    aMessageProps.put("viewId", SfxLokHelper::getView(pView));
-    aMessageProps.put("part", pView->getPart());
-    aMessageProps.put("mode", pView->getEditMode());
+    aMessageProps.put("viewId", SfxLokHelper::getView(rView));
+    aMessageProps.put("part", rView.getPart());
+    aMessageProps.put("mode", rView.getEditMode());
     std::stringstream aStream;
     boost::property_tree::write_json(aStream, aMessageProps, false /* pretty 
*/);
     return OString(o3tl::trim(aStream.str()));
@@ -570,7 +569,7 @@ void SfxLokHelper::notifyOtherView(const SfxViewShell* 
pThisView, SfxViewShell c
         return;
 
     const int viewId = SfxLokHelper::getView(pThisView);
-    pOtherView->libreOfficeKitViewCallbackWithViewId(nType, 
lcl_generateJSON(pThisView, rTree), viewId);
+    pOtherView->libreOfficeKitViewCallbackWithViewId(nType, 
lcl_generateJSON(*pThisView, rTree), viewId);
 }
 
 void SfxLokHelper::notifyOtherViews(const SfxViewShell* pThisView, int nType, 
std::string_view rKey,
@@ -624,7 +623,7 @@ void SfxLokHelper::notifyOtherViews(const SfxViewShell* 
pThisView, int nType,
             // Payload is only dependent on pThisView.
             if (aPayload.isEmpty())
             {
-                aPayload = lcl_generateJSON(pThisView, rTree);
+                aPayload = lcl_generateJSON(*pThisView, rTree);
                 viewId = SfxLokHelper::getView(*pThisView);
             }
 

Reply via email to