There is a possibility for it to have been updated already if newDatums
are requested before emittersChanged is reached. This became possible
when emitters stopped having strict particle emission limits.
Change-Id: I45d1564f56547418127446e3138ff21deec891c3
Reviewed-on: http://codereview.qt-project.org/4753
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
m_particle_count += m_groupData[i]->size();
}
- Q_ASSERT(m_particle_count >= m_bySysIdx.size());//XXX when GC done right
- m_bySysIdx.resize(m_particle_count);
+ if (m_debugMode)
+ qDebug() << "Particle system emitters changed. New particle count: " << m_particle_count;
+
+ if (m_particle_count > m_bySysIdx.size())//New datum requests haven't updated it
+ m_bySysIdx.resize(m_particle_count);
foreach (QSGParticlePainter *p, m_painters)
loadPainter(p);
if (!m_groups.isEmpty())
createEngine();
- if (m_debugMode)
- qDebug() << "Particle system emitters changed. New particle count: " << m_particle_count;
}
void QSGParticleSystem::createEngine()