diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-05-20 17:11:37 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-05-23 16:31:55 +0000 |
commit | 073930f2ef030b3019c323999d910185f4639d9b (patch) | |
tree | 0c2bba252f7a92d4f3841fbe42eeca27e2a8a838 /tests/auto/render/qmaterial | |
parent | 15dace7c02bc5acdf02f94c8be08fec1a792383c (diff) |
Shared node bookkeeping
Any time a property references a QNode there is a risk that the node gets
destroyed and then the property is left pointing to a dangling pointer.
To handle such cases, setters of such properties are able to use a helper
that internally connect QObject::destroyed signal to a setter removal method.
Change-Id: I42428c851d0e3d2d88ab0cf6a5b75605334ec648
Task-number: QTBUG-53456
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'tests/auto/render/qmaterial')
-rw-r--r-- | tests/auto/render/qmaterial/tst_qmaterial.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/auto/render/qmaterial/tst_qmaterial.cpp b/tests/auto/render/qmaterial/tst_qmaterial.cpp index d658b1b3e..2dfe6637c 100644 --- a/tests/auto/render/qmaterial/tst_qmaterial.cpp +++ b/tests/auto/render/qmaterial/tst_qmaterial.cpp @@ -58,9 +58,9 @@ public: explicit TestMaterial(Qt3DCore::QNode *parent = 0) : Qt3DRender::QMaterial(parent) , m_effect(new Qt3DRender::QEffect(this)) - , m_technique(new Qt3DRender::QTechnique(this)) - , m_renderPass(new Qt3DRender::QRenderPass(this)) - , m_shaderProgram(new Qt3DRender::QShaderProgram(this)) + , m_technique(new Qt3DRender::QTechnique(m_effect)) + , m_renderPass(new Qt3DRender::QRenderPass(m_technique)) + , m_shaderProgram(new Qt3DRender::QShaderProgram(m_renderPass)) { m_renderPass->setShaderProgram(m_shaderProgram); m_technique->addRenderPass(m_renderPass); |