summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurélien Brooke <aurelien@bahiasoft.fr>2023-03-19 08:29:25 +0100
committerAurélien Brooke <aurelien@bahiasoft.fr>2023-03-20 11:43:46 +0100
commit0e66d82ec30eb1800774e121c534579181aa6d07 (patch)
treeef147f1d15e2d7953008e8c0d3e3d4ebaf60bfc8
parent68f7673c1dcc4ec3e407b121442390bbb34aed37 (diff)
downloadqt3d-0e66d82ec30eb1800774e121c534579181aa6d07.tar.gz
Scene3D: fix crash in setItemAreaAndDevicePixelRatio when entity is null
Pick-to: 6.5 Change-Id: Ib4ced4fa56fb038b5ee440e0f4e752b2d2570abe Reviewed-by: Mike Krus <mike.krus@kdab.com>
-rw-r--r--src/quick3d/imports/scene3d/scene3ditem.cpp7
1 files 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);