From: Alan Alpert Date: Thu, 14 Jul 2011 22:14:39 +0000 (+1000) Subject: Crash less X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=a1867e5c6229e171b0fac3e57b96295221f2ea0a;p=konrad%2Fqtdeclarative.git Crash less Can't run any particles without a system set. Just skip the 'prepareFrame' function in that case. Task-Number: QTBUG-20386 Change-Id: I22332636084d1696d5aff5386a5ca4ff0f2f1866 Reviewed-on: http://codereview.qt.nokia.com/1680 Reviewed-by: Qt Sanity Bot Reviewed-by: Martin Jones --- diff --git a/src/declarative/particles/qsgitemparticle.cpp b/src/declarative/particles/qsgitemparticle.cpp index 94603e9..625c98b 100644 --- a/src/declarative/particles/qsgitemparticle.cpp +++ b/src/declarative/particles/qsgitemparticle.cpp @@ -165,6 +165,8 @@ QSGNode* QSGItemParticle::updatePaintNode(QSGNode* n, UpdatePaintNodeData* d) void QSGItemParticle::prepareNextFrame() { + if (!m_system) + return; qint64 timeStamp = m_system->systemSync(this); qreal curT = timeStamp/1000.0; qreal dt = curT - m_lastT; diff --git a/src/declarative/particles/qsgmodelparticle.cpp b/src/declarative/particles/qsgmodelparticle.cpp index c649d74..60c4438 100644 --- a/src/declarative/particles/qsgmodelparticle.cpp +++ b/src/declarative/particles/qsgmodelparticle.cpp @@ -227,6 +227,8 @@ QSGNode* QSGModelParticle::updatePaintNode(QSGNode* n, UpdatePaintNodeData* d) void QSGModelParticle::prepareNextFrame() { + if (!m_system) + return; qint64 timeStamp = m_system->systemSync(this); qreal curT = timeStamp/1000.0; qreal dt = curT - m_lastT;