diff options
author | Charles Yin <charles.yin@nokia.com> | 2012-05-29 09:50:08 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-29 05:57:48 +0200 |
commit | 0eec47c65982f586a8602af964b454494f0f49f3 (patch) | |
tree | 219d920ae7ea9007b618d7ac75ef51438155b2e2 /src/quick/items/qquickitemanimation.cpp | |
parent | 4e835ea4624f3a686ab46f04e13dd6852b64791d (diff) |
Fix memory leaks in QQuickParentAnimation
Change-Id: I7b386b3b5f974e068c7ca00d3d9ea92a62fc70d9
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'src/quick/items/qquickitemanimation.cpp')
-rw-r--r-- | src/quick/items/qquickitemanimation.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/quick/items/qquickitemanimation.cpp b/src/quick/items/qquickitemanimation.cpp index 54092039ac..e79b9c3bc1 100644 --- a/src/quick/items/qquickitemanimation.cpp +++ b/src/quick/items/qquickitemanimation.cpp @@ -371,13 +371,13 @@ QAbstractAnimationJob* QQuickParentAnimation::transition(QQuickStateActions &act } } - QSequentialAnimationGroupJob *topLevelGroup = new QSequentialAnimationGroupJob; - QActionAnimation *viaAction = d->via ? new QActionAnimation : 0; - QActionAnimation *targetAction = new QActionAnimation; - //we'll assume the common case by far is to have children, and always create ag - QParallelAnimationGroupJob *ag = new QParallelAnimationGroupJob; - if (data->actions.count()) { + QSequentialAnimationGroupJob *topLevelGroup = new QSequentialAnimationGroupJob; + QActionAnimation *viaAction = d->via ? new QActionAnimation : 0; + QActionAnimation *targetAction = new QActionAnimation; + //we'll assume the common case by far is to have children, and always create ag + QParallelAnimationGroupJob *ag = new QParallelAnimationGroupJob; + if (d->via) viaAction->setAnimAction(viaData); targetAction->setAnimAction(data); @@ -405,12 +405,12 @@ QAbstractAnimationJob* QQuickParentAnimation::transition(QQuickStateActions &act topLevelGroup->appendAnimation(ag); topLevelGroup->appendAnimation(d->via ? viaAction : targetAction); } + return initInstance(topLevelGroup); } else { delete data; delete viaData; } - - return initInstance(topLevelGroup); + return 0; } /*! |