summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurélien Brooke <aurelien@bahiasoft.fr>2023-03-19 08:29:25 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-03-20 14:14:36 +0000
commitcf1126c6b4846887f9b6074255fc444057974bc9 (patch)
tree3ea12712c9a6892f16aae3943fc6d5644dfc7aa5
parent0f527d930f11b081608ab03e819b1ca0cdbf1471 (diff)
downloadqt3d-cf1126c6b4846887f9b6074255fc444057974bc9.tar.gz
Scene3D: fix crash in setItemAreaAndDevicePixelRatio when entity is null
Change-Id: Ib4ced4fa56fb038b5ee440e0f4e752b2d2570abe Reviewed-by: Mike Krus <mike.krus@kdab.com> (cherry picked from commit 0e66d82ec30eb1800774e121c534579181aa6d07) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-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);