aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-09-23 15:52:10 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-26 09:05:16 +0200
commit12fd2ccd3fa2dc0133b5a3fb89f9fdf5cf721232 (patch)
tree880acb9c7c0d8289185b6aebe4339f439c707a0e /src/particles
parent2e4f66caa8a5f9e887dbdb4e3f2ae5c9be9a7005 (diff)
Fix Persistent/WeakValue API
Don't use unprotected Values in the API anymore. Change-Id: I8851628227fca374de24701bc8ee0908b5ae3923 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/particles')
-rw-r--r--src/particles/qquickv4particledata.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/particles/qquickv4particledata.cpp b/src/particles/qquickv4particledata.cpp
index 9f95edff3b..8cbe42bdd3 100644
--- a/src/particles/qquickv4particledata.cpp
+++ b/src/particles/qquickv4particledata.cpp
@@ -512,9 +512,11 @@ QQuickV4ParticleData::QQuickV4ParticleData(QV8Engine* engine, QQuickParticleData
QV8ParticleDataDeletable *d = particleV8Data(engine);
QV4::ExecutionEngine *v4 = QV8Engine::getV4(engine);
- QV4::Object *o = new (v4->memoryManager) QV4ParticleData(v4, datum);
- o->setPrototype(d->proto.value().asObject());
- m_v4Value = QV4::Value::fromObject(o);
+ QV4::Scope scope(v4);
+ QV4::ScopedObject o(scope, new (v4->memoryManager) QV4ParticleData(v4, datum));
+ QV4::ScopedObject p(scope, d->proto.value());
+ o->setPrototype(p.getPointer());
+ m_v4Value = o;
}
QQuickV4ParticleData::~QQuickV4ParticleData()
@@ -523,7 +525,7 @@ QQuickV4ParticleData::~QQuickV4ParticleData()
QQmlV4Handle QQuickV4ParticleData::v4Value()
{
- return QQmlV4Handle(m_v4Value);
+ return QQmlV4Handle(QV4::Value::fromReturnedValue(m_v4Value.value()));
}
QT_END_NAMESPACE