aboutsummaryrefslogtreecommitdiffstats
path: root/src/particles
diff options
context:
space:
mode:
Diffstat (limited to 'src/particles')
-rw-r--r--src/particles/qquickcustomparticle.cpp2
-rw-r--r--src/particles/qquickparticleemitter_p.h5
-rw-r--r--src/particles/qquickparticlesystem.cpp7
3 files changed, 9 insertions, 5 deletions
diff --git a/src/particles/qquickcustomparticle.cpp b/src/particles/qquickcustomparticle.cpp
index 38c0b855e8..a89b0d6a3b 100644
--- a/src/particles/qquickcustomparticle.cpp
+++ b/src/particles/qquickcustomparticle.cpp
@@ -291,8 +291,6 @@ QQuickOpenGLShaderEffectNode *QQuickCustomParticle::prepareNextFrame(QQuickOpenG
builder.appendSourceFile(QStringLiteral(":/particles/shaders/customparticle.vert"));
s.sourceCode[Key::VertexShader] = builder.source() + s.sourceCode[Key::VertexShader];
- s.className = metaObject()->className();
-
material->setProgramSource(s);
material->attributes = m_common.attributes;
foreach (QQuickOpenGLShaderEffectNode* node, m_nodes)
diff --git a/src/particles/qquickparticleemitter_p.h b/src/particles/qquickparticleemitter_p.h
index 9b114ad46b..dd55fdc7a6 100644
--- a/src/particles/qquickparticleemitter_p.h
+++ b/src/particles/qquickparticleemitter_p.h
@@ -322,6 +322,8 @@ public:
return m_startTime;
}
+ void reclaculateGroupId() const;
+
protected:
qreal m_particlesPerSecond;
int m_particleDuration;
@@ -359,9 +361,6 @@ protected:
bool isEmitConnected();
-private: // methods
- void reclaculateGroupId() const;
-
private: // data
QString m_group;
mutable bool m_groupIdNeedRecalculation;
diff --git a/src/particles/qquickparticlesystem.cpp b/src/particles/qquickparticlesystem.cpp
index 17d9e49d63..b60180b2ed 100644
--- a/src/particles/qquickparticlesystem.cpp
+++ b/src/particles/qquickparticlesystem.cpp
@@ -597,6 +597,13 @@ void QQuickParticleSystem::initGroups()
groupIds.clear();
nextFreeGroupId = 0;
+ for (auto e : qAsConst(m_emitters)) {
+ e->reclaculateGroupId();
+ }
+ foreach (QQuickParticlePainter *p, m_painters) {
+ p->recalculateGroupIds();
+ }
+
QQuickParticleGroupData *pd = new QQuickParticleGroupData(QString(), this); // Default group
Q_ASSERT(pd->index == 0);
Q_UNUSED(pd);