diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/render/backend/renderrenderpass.cpp | 3 | ||||
-rw-r--r-- | src/render/frontend/qrenderpass.cpp | 2 |
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); } } |