From 12fd2ccd3fa2dc0133b5a3fb89f9fdf5cf721232 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 23 Sep 2013 15:52:10 +0200 Subject: Fix Persistent/WeakValue API Don't use unprotected Values in the API anymore. Change-Id: I8851628227fca374de24701bc8ee0908b5ae3923 Reviewed-by: Simon Hausmann --- src/particles/qquickv4particledata.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/particles') 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 -- cgit v1.2.3