svx/source/engine3d/scene3d.cxx |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

New commits:
commit 650c87da48d3774b4d09b7792a4ac8309b1a73cb
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Feb 17 21:05:21 2025 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Tue Feb 25 13:24:07 2025 +0100

    crashtesting: getSdrObjectFromSdrObjList() might return nullptr
    
    Seen in 
https://crashreport.libreoffice.org/stats/signature/E3dScene::NbcInsertObject(SdrObject%20*,unsigned%20__int64)
    
    Change-Id: I1136a977314ac47d1a3772c21d6970c20fe760cb
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181801
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    (cherry picked from commit be37c3e65407fdf08781a7c49f21d7e7e80a46ae)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181819
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx
index ee9cad6365a8..3751ff525196 100644
--- a/svx/source/engine3d/scene3d.cxx
+++ b/svx/source/engine3d/scene3d.cxx
@@ -751,7 +751,8 @@ void E3dScene::NbcInsertObject(SdrObject* pObj, size_t nPos)
     else
     {
         // No 3D object, inserted a page in place in a scene ...
-        
getSdrObjectFromSdrObjList()->getSdrPageFromSdrObject()->InsertObject(pObj, 
nPos);
+        if (SdrPage* pPage = 
getSdrObjectFromSdrObjList()->getSdrPageFromSdrObject())
+            pPage->InsertObject(pObj, nPos);
     }
 }
 
@@ -770,7 +771,8 @@ void E3dScene::InsertObject(SdrObject* pObj, size_t nPos)
     else
     {
         // No 3D object, inserted a page in place in a scene ...
-        
getSdrObjectFromSdrObjList()->getSdrPageFromSdrObject()->InsertObject(pObj, 
nPos);
+        if (SdrPage* pPage = 
getSdrObjectFromSdrObjList()->getSdrPageFromSdrObject())
+            pPage->InsertObject(pObj, nPos);
     }
 }
 

Reply via email to