diff options
Diffstat (limited to 'src/particles')
| -rw-r--r-- | src/particles/qquickparticlesystem.cpp | 5 | ||||
| -rw-r--r-- | src/particles/qquickparticlesystem_p.h | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/particles/qquickparticlesystem.cpp b/src/particles/qquickparticlesystem.cpp index 5744c61849..0bb71d1d70 100644 --- a/src/particles/qquickparticlesystem.cpp +++ b/src/particles/qquickparticlesystem.cpp @@ -240,8 +240,7 @@ void QQuickParticleDataHeap::insertTimed(QQuickParticleData* data, int time) int QQuickParticleDataHeap::top() { - if (m_end == 0) - return 1 << 30; + Q_ASSERT(!isEmpty()); return m_data[0].time; } @@ -391,7 +390,7 @@ bool QQuickParticleGroupData::recycle() { m_latestAliveParticles.clear(); - while (dataHeap.top() <= m_system->timeInt) { + while (!dataHeap.isEmpty() && dataHeap.top() <= m_system->timeInt) { for (QQuickParticleData *datum : dataHeap.pop()) { if (!datum->stillAlive(m_system)) { freeList.free(datum->index); diff --git a/src/particles/qquickparticlesystem_p.h b/src/particles/qquickparticlesystem_p.h index 0ae2a5f345..ab5cc9cd7f 100644 --- a/src/particles/qquickparticlesystem_p.h +++ b/src/particles/qquickparticlesystem_p.h @@ -117,6 +117,8 @@ public: int top(); + bool isEmpty() const { return m_end == 0; } + QSet<QQuickParticleData*> pop(); void clear(); |
