diff options
Diffstat (limited to 'src/particles')
-rw-r--r-- | src/particles/qquickparticleemitter_p.h | 5 | ||||
-rw-r--r-- | src/particles/qquickparticlesystem.cpp | 7 |
2 files changed, 9 insertions, 3 deletions
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); |