summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/render/backend/renderrenderpass.cpp3
-rw-r--r--src/render/frontend/qrenderpass.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/render/backend/renderrenderpass.cpp b/src/render/backend/renderrenderpass.cpp
index 21d573651..9cdb387da 100644
--- a/src/render/backend/renderrenderpass.cpp
+++ b/src/render/backend/renderrenderpass.cpp
@@ -181,7 +181,8 @@ void RenderRenderPass::sceneChangeEvent(const QSceneChangePtr &e)
appendBinding(RenderParameterMapping(propertyChange->value().value<QParameterMapping *>()));
}
else if (propertyChange->propertyName() == QByteArrayLiteral("renderState")) {
- QRenderState *renderState = propertyChange->value().value<QRenderState *>();
+ QNodePtr nodePtr = propertyChange->value().value<QNodePtr>();
+ QRenderState *renderState = static_cast<QRenderState *>(nodePtr.data());
appendRenderState(renderState->id(), getOrCreateBackendState(renderState));
}
break;
diff --git a/src/render/frontend/qrenderpass.cpp b/src/render/frontend/qrenderpass.cpp
index 9482248f5..cfa6fee2e 100644
--- a/src/render/frontend/qrenderpass.cpp
+++ b/src/render/frontend/qrenderpass.cpp
@@ -226,7 +226,7 @@ void QRenderPass::addRenderState(QRenderState *state)
if (d->m_changeArbiter != Q_NULLPTR) {
QScenePropertyChangePtr change(new QScenePropertyChange(NodeAdded, QSceneChange::Node, id()));
change->setPropertyName("renderState");
- change->setValue(QVariant::fromValue(QNode::clone(state)));
+ change->setValue(QVariant::fromValue(QNodePtr(QNode::clone(state))));
d->notifyObservers(change);
}
}