summaryrefslogtreecommitdiffstats
path: root/src/render/frontend/qparameter.cpp
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-09-04 11:18:09 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-09-15 12:37:30 +0200
commitc13ee6f9af81fae9697f7fb2913f2a353817087d (patch)
treeab7ae11a5f6f2a8bd949315712708aa6a7ade544 /src/render/frontend/qparameter.cpp
parent255fde4030fe9c3f589b9174ed90494de20a2fe9 (diff)
QTexture fixes so that it is properly added as a child
It will be built automatically by the RenderSceneBuilder in a following patch. Change-Id: I66c9790ffaf8c3d90d5fee5a3c54e0aea2c67217 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/frontend/qparameter.cpp')
-rw-r--r--src/render/frontend/qparameter.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/render/frontend/qparameter.cpp b/src/render/frontend/qparameter.cpp
index 720a738b8..ba964abef 100644
--- a/src/render/frontend/qparameter.cpp
+++ b/src/render/frontend/qparameter.cpp
@@ -43,6 +43,7 @@
#include "renderlogging.h"
#include <Qt3DCore/qscenepropertychange.h>
#include <private/qparameter_p.h>
+#include <Qt3DRenderer/qtexture.h>
QT_BEGIN_NAMESPACE
@@ -113,6 +114,12 @@ void QParameter::setValue(const QVariant &dv)
if (d->m_value != dv) {
d->m_value = dv;
emit valueChanged();
+
+ // In case texture are declared inline
+ QTexture *txt = dv.value<QTexture *>();
+ if (txt != Q_NULLPTR && (!txt->parent() || txt->parent() == this))
+ QNode::addChild(txt);
+
QScenePropertyChangePtr change(new QScenePropertyChange(NodeUpdated, this));
change->setPropertyName(d->m_name.toUtf8());
change->setValue(d->m_value);