diff options
author | Lars Knoll <lars.knoll@digia.com> | 2013-09-23 15:52:10 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-26 09:05:16 +0200 |
commit | 12fd2ccd3fa2dc0133b5a3fb89f9fdf5cf721232 (patch) | |
tree | 880acb9c7c0d8289185b6aebe4339f439c707a0e /src/particles | |
parent | 2e4f66caa8a5f9e887dbdb4e3f2ae5c9be9a7005 (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.cpp | 10 |
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 |