summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2015-06-30 08:34:53 +0200
committerPaul Lemire <paul.lemire@kdab.com>2015-06-30 13:47:43 +0000
commit9298ba2b957fcd0c16ef5cfc1a6964a66cc06ae5 (patch)
treed65683e01ec099b6c4a50a47a6a4f53d792d95fe
parentc4869d638e8bd673497b4a7e4f9df47f97846865 (diff)
Scene3DItem: don't leak the Scene3DRenderer
Change-Id: I37c504f62029733265a53ba1dda71d76b4e18eb4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--src/quick3d/imports/scene3d/scene3ditem.cpp4
-rw-r--r--src/quick3d/imports/scene3d/scene3ditem.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/quick3d/imports/scene3d/scene3ditem.cpp b/src/quick3d/imports/scene3d/scene3ditem.cpp
index 422a15e63..f1ac3261e 100644
--- a/src/quick3d/imports/scene3d/scene3ditem.cpp
+++ b/src/quick3d/imports/scene3d/scene3ditem.cpp
@@ -396,8 +396,8 @@ QSGNode *Scene3DItem::updatePaintNode(QSGNode *node, QQuickItem::UpdatePaintNode
node = Q_NULLPTR;
}
- if (!m_renderer) {
- m_renderer = new Scene3DRenderer(this, m_aspectEngine, m_renderAspect);
+ if (m_renderer.isNull()) {
+ m_renderer.reset(new Scene3DRenderer(this, m_aspectEngine, m_renderAspect));
}
Scene3DSGNode *fboNode = new Scene3DSGNode();
diff --git a/src/quick3d/imports/scene3d/scene3ditem.h b/src/quick3d/imports/scene3d/scene3ditem.h
index 7506892c9..bc33620fe 100644
--- a/src/quick3d/imports/scene3d/scene3ditem.h
+++ b/src/quick3d/imports/scene3d/scene3ditem.h
@@ -82,7 +82,7 @@ private:
Qt3D::QAspectEngine *m_aspectEngine;
Qt3D::QRenderAspect *m_renderAspect;
- Scene3DRenderer *m_renderer;
+ QScopedPointer<Scene3DRenderer> m_renderer;
};
QT_END_NAMESPACE