diff options
Diffstat (limited to 'src/particles/qquicktrailemitter.cpp')
-rw-r--r-- | src/particles/qquicktrailemitter.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/particles/qquicktrailemitter.cpp b/src/particles/qquicktrailemitter.cpp index 4f4a05d09a..84caebf5be 100644 --- a/src/particles/qquicktrailemitter.cpp +++ b/src/particles/qquicktrailemitter.cpp @@ -272,14 +272,15 @@ void QQuickTrailEmitter::emitWindow(int timeStamp) QQmlEngine *qmlEngine = ::qmlEngine(this); QV4::ExecutionEngine *v4 = QV8Engine::getV4(qmlEngine->handle()); - QV4::ArrayObject *array = v4->newArrayObject(toEmit.size()); + QV4::Scope scope(v4); + QV4::Scoped<QV4::ArrayObject> array(scope, v4->newArrayObject(toEmit.size())); for (int i=0; i<toEmit.size(); i++) array->putIndexed(i, toEmit[i]->v4Value().toValue()); if (isEmitFollowConnected()) - emitFollowParticles(QQmlV4Handle(QV4::Value::fromObject(array)), d->v4Value());//A chance for many arbitrary JS changes + emitFollowParticles(QQmlV4Handle(array.asValue()), d->v4Value());//A chance for many arbitrary JS changes else if (isEmitConnected()) - emitParticles(QQmlV4Handle(QV4::Value::fromObject(array)));//A chance for arbitrary JS changes + emitParticles(QQmlV4Handle(array.asValue()));//A chance for arbitrary JS changes } m_lastEmission[d->index] = pt; } |