aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles/qquickparticleemitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/particles/qquickparticleemitter.cpp')
-rw-r--r--src/particles/qquickparticleemitter.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/particles/qquickparticleemitter.cpp b/src/particles/qquickparticleemitter.cpp
index 630565f8f2..cc410fbfbe 100644
--- a/src/particles/qquickparticleemitter.cpp
+++ b/src/particles/qquickparticleemitter.cpp
@@ -477,13 +477,16 @@ void QQuickParticleEmitter::emitWindow(int timeStamp)
m_system->emitParticle(d);
if (isEmitConnected()) {
+ QQmlEngine *qmlEngine = ::qmlEngine(this);
+ QV4::ExecutionEngine *v4 = QV8Engine::getV4(qmlEngine->handle());
+
//Done after emitParticle so that the Painter::load is done first, this allows you to customize its static variables
//We then don't need to request another reload, because the first reload isn't scheduled until we get back to the render thread
- v8::Handle<v8::Array> array = v8::Array::New(toEmit.size());
+ QV4::ArrayObject *array = v4->newArrayObject(toEmit.size());
for (int i=0; i<toEmit.size(); i++)
- array->Set(i, toEmit[i]->v4Value().toValue());
+ array->putIndexed(i, toEmit[i]->v4Value().toValue());
- emitParticles(QQmlV4Handle(array->v4Value()));//A chance for arbitrary JS changes
+ emitParticles(QQmlV4Handle(QV4::Value::fromObject(array)));//A chance for arbitrary JS changes
}
m_last_emission = pt;