diff options
author | Alan Alpert <416365416c@gmail.com> | 2013-11-20 13:34:19 -0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-22 11:38:47 +0100 |
commit | 475879b6fe994ba93423317204c05cb377df357c (patch) | |
tree | 13bda619c16c4e837f0c21f55bc24c4934fedd9e /src/particles/qquickimageparticle_p.h | |
parent | 802921d40b8b48239958c6035c74d986fe606860 (diff) |
Don't store the QSGNode pointer
The QSGNode subtree may be cleared at any time. Get the subtree via the
node pointer passed in updatePaintNode, to ensure that the subtree is
still valid each update.
Some references are still being stored but invalidated when a new
subtree is created. QTBUG-34994 has been created to track fixing that.
Task-number: QTBUG-33553
Change-Id: I2115aff931d42b613d207553c636be7d80c405bb
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Diffstat (limited to 'src/particles/qquickimageparticle_p.h')
-rw-r--r-- | src/particles/qquickimageparticle_p.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/particles/qquickimageparticle_p.h b/src/particles/qquickimageparticle_p.h index 3a5d72e727..e9328d79e5 100644 --- a/src/particles/qquickimageparticle_p.h +++ b/src/particles/qquickimageparticle_p.h @@ -343,8 +343,8 @@ protected: virtual void commit(int gIdx, int pIdx); QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *); - void prepareNextFrame(); - void buildParticleNodes(); + void prepareNextFrame(QSGNode**); + void buildParticleNodes(QSGNode**); void sceneGraphInvalidated(); @@ -354,7 +354,7 @@ private Q_SLOTS: void spriteAdvance(int spriteIndex); void spritesUpdate(qreal time = 0 ); void mainThreadFetchImageData(); - void finishBuildParticleNodes(); + void finishBuildParticleNodes(QSGNode **n); private: struct ImageData { QUrl source; |