diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2016-04-28 12:16:41 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2016-04-28 10:24:48 +0000 |
commit | 56a82a531771f13adbe74ee08d11b058a87beee2 (patch) | |
tree | 19268e8a6e916d2823950912f1d6a05cf08875f1 /src/particles | |
parent | 485a381cabc730622dbe1b150260ea417d2bbcfd (diff) |
Particles: Invalidate all group IDs when groups are reset.
Task-number: QTBUG-52325
Change-Id: I38d90b6fb0d7468fb0916bd6dfd1cf07ace4389b
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
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); |