aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles/qquicktrailemitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/particles/qquicktrailemitter.cpp')
-rw-r--r--src/particles/qquicktrailemitter.cpp7
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;
}