Don't create unnecessary shadow data
authorAlan Alpert <alan.alpert@nokia.com>
Fri, 24 Feb 2012 05:35:46 +0000 (15:35 +1000)
committerQt by Nokia <qt-info@nokia.com>
Mon, 27 Feb 2012 23:39:42 +0000 (00:39 +0100)
Shadow data was being made by accident for uninitialized datums, because
they had not yet had the ImageParticle set as the datum owner.

Change-Id: Ia1d55610d845627cdb9c83bfda1d7ed4c024f703
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
src/quick/particles/qquickimageparticle.cpp

index 2936935..83687ae 100644 (file)
@@ -1237,6 +1237,9 @@ void QQuickImageParticle::clearShadows()
 //Only call if you need to, may initialize the whole array first time
 QQuickParticleData* QQuickImageParticle::getShadowDatum(QQuickParticleData* datum)
 {
+    //Will return datum if the datum is a sentinel or uninitialized, to centralize that one check
+    if (datum->systemIndex == -1)
+        return datum;
     QQuickParticleGroupData* gd = m_system->groupData[datum->group];
     if (!m_shadowData.contains(datum->group)) {
         QVector<QQuickParticleData*> data;