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.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/particles/qquickparticleemitter.cpp b/src/particles/qquickparticleemitter.cpp
index 6e53b0940c..7db1707d74 100644
--- a/src/particles/qquickparticleemitter.cpp
+++ b/src/particles/qquickparticleemitter.cpp
@@ -472,7 +472,12 @@ void QQuickParticleEmitter::emitWindow(int timeStamp)
}
}
+ foreach (QQuickParticleData* d, toEmit)
+ m_system->emitParticle(d);
+
if (isEmitConnected()) {
+ //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::HandleScope handle_scope;
v8::Context::Scope scope(QQmlEnginePrivate::getV8Engine(qmlEngine(this))->context());
v8::Handle<v8::Array> array = v8::Array::New(toEmit.size());
@@ -481,8 +486,6 @@ void QQuickParticleEmitter::emitWindow(int timeStamp)
emitParticles(QQmlV8Handle::fromHandle(array));//A chance for arbitrary JS changes
}
- foreach (QQuickParticleData* d, toEmit)
- m_system->emitParticle(d);
m_last_emission = pt;