svx/source/engine3d/obj3d.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
New commits: commit e9920a67886a930c327776ad8f7736e214ea0e98 Author: Noel Grandin <noelgran...@collabora.co.uk> AuthorDate: Tue Nov 1 14:35:23 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Tue Nov 1 15:54:24 2022 +0100 tdf#54857 elide dynamic_cast shaves 2% off load time of this ppt Change-Id: I025bae9dbc6a01cd193e2a4721f50cf60ac08dc5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142112 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/svx/source/engine3d/obj3d.cxx b/svx/source/engine3d/obj3d.cxx index 64e0d8444f9d..4d8ad7add1de 100644 --- a/svx/source/engine3d/obj3d.cxx +++ b/svx/source/engine3d/obj3d.cxx @@ -264,7 +264,10 @@ void E3dObject::StructureChanged() E3dScene* E3dObject::getParentE3dSceneFromE3dObject() const { - return dynamic_cast< E3dScene* >(getParentSdrObjectFromSdrObject()); + SdrObject* pParent = getParentSdrObjectFromSdrObject(); + if( pParent && pParent->GetObjIdentifier() == SdrObjKind::E3D_Scene ) + return static_cast<E3dScene* >(pParent); + return nullptr; } // Determine the top-level scene object