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

New commits:
commit 739c518d6566ea923a3778344066f9f361209b6a
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:13 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/+/181820
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx
index 5e55fa7c81c8..8d4d8828cb7d 100644
--- a/svx/source/engine3d/scene3d.cxx
+++ b/svx/source/engine3d/scene3d.cxx
@@ -749,7 +749,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);
     }
 }
 
@@ -768,7 +769,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