From 0e66d82ec30eb1800774e121c534579181aa6d07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Brooke?= Date: Sun, 19 Mar 2023 08:29:25 +0100 Subject: Scene3D: fix crash in setItemAreaAndDevicePixelRatio when entity is null Pick-to: 6.5 Change-Id: Ib4ced4fa56fb038b5ee440e0f4e752b2d2570abe Reviewed-by: Mike Krus --- src/quick3d/imports/scene3d/scene3ditem.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/quick3d/imports/scene3d/scene3ditem.cpp b/src/quick3d/imports/scene3d/scene3ditem.cpp index a65fb8baa..53f238927 100644 --- a/src/quick3d/imports/scene3d/scene3ditem.cpp +++ b/src/quick3d/imports/scene3d/scene3ditem.cpp @@ -548,8 +548,11 @@ void Scene3DItem::createDummySurface(QWindow *rw, Qt3DRender::QRenderSurfaceSele */ void Scene3DItem::setItemAreaAndDevicePixelRatio(QSize area, qreal devicePixelRatio) { - Qt3DRender::QRenderSurfaceSelector *surfaceSelector - = Qt3DRender::QRenderSurfaceSelectorPrivate::find(entity()); + Qt3DCore::QEntity *rootEntity = entity(); + if (!rootEntity) { + return; + } + Qt3DRender::QRenderSurfaceSelector *surfaceSelector = Qt3DRender::QRenderSurfaceSelectorPrivate::find(rootEntity); if (surfaceSelector) { surfaceSelector->setExternalRenderTargetSize(area); surfaceSelector->setSurfacePixelRatio(devicePixelRatio); -- cgit v1.2.1