aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/particles/qquickitemparticle_p.h
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2012-01-09 10:26:35 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-09 05:49:03 +0100
commit95e720d1b63312e50be3df467973d098c4527b7d (patch)
treef9736d9694d8fd1c5d184a698d896bb6581feae1 /src/quick/particles/qquickitemparticle_p.h
parent7f0d7f894691d81cbb24d1c2f0f55bed6dc940d0 (diff)
Fix QQuickItemParticle timing issues
It was possible for m_loadables to be reset before the items were loaded, and the datum pointer was lost. This was exacerbated by another bug where reset was called every frame for no reason. Both bugs are now fixed. Task-number: QTBUG-23491 Change-Id: I9b60858621b697fc46de1e964cb27ddc0d2dbc65 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'src/quick/particles/qquickitemparticle_p.h')
-rw-r--r--src/quick/particles/qquickitemparticle_p.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/quick/particles/qquickitemparticle_p.h b/src/quick/particles/qquickitemparticle_p.h
index 84f60ace31..d5284430e2 100644
--- a/src/quick/particles/qquickitemparticle_p.h
+++ b/src/quick/particles/qquickitemparticle_p.h
@@ -44,6 +44,7 @@
#include "qquickparticlepainter_p.h"
#include <QPointer>
#include <QSet>
+#include <private/qdeclarativeanimation_p_p.h>
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -95,9 +96,8 @@ protected:
virtual void commit(int gIdx, int pIdx);
virtual void initialize(int gIdx, int pIdx);
void prepareNextFrame();
-private slots:
- void tick();
private:
+ void tick(int time = 0);
QList<QQuickItem* > m_deletables;
QList< QQuickParticleData* > m_loadables;
bool m_fade;
@@ -108,6 +108,9 @@ private:
qreal m_lastT;
int m_activeCount;
QDeclarativeComponent* m_delegate;
+
+ typedef QTickAnimationProxy<QQuickItemParticle, &QQuickItemParticle::tick> Clock;
+ Clock *clock;
};
class QQuickItemParticleAttached : public QObject