diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2015-06-30 08:34:53 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2015-06-30 13:47:43 +0000 |
commit | 9298ba2b957fcd0c16ef5cfc1a6964a66cc06ae5 (patch) | |
tree | d65683e01ec099b6c4a50a47a6a4f53d792d95fe | |
parent | c4869d638e8bd673497b4a7e4f9df47f97846865 (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.cpp | 4 | ||||
-rw-r--r-- | src/quick3d/imports/scene3d/scene3ditem.h | 2 |
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 |