diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-03-13 01:01:04 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2019-03-13 10:10:09 +0100 |
commit | 76be4abbbcfb2fbb14ce532413e0895198e7f0f1 (patch) | |
tree | 5d6ca9c4425df15a93b6f74dc8e4dbb38db74d91 /src/qml/animations | |
parent | 587d789fa5929f462b5744ba33a25db6c77b36fc (diff) | |
parent | 70d726e91e4ef27002b2271805de19077e25809c (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
src/qml/compiler/qv4codegen.cpp
src/qml/animations/qsequentialanimationgroupjob.cpp
Change-Id: I8b76e509fd7c8599d4cef25181d790ee28edab54
Diffstat (limited to 'src/qml/animations')
-rw-r--r-- | src/qml/animations/qanimationgroupjob.cpp | 10 | ||||
-rw-r--r-- | src/qml/animations/qsequentialanimationgroupjob.cpp | 4 |
2 files changed, 6 insertions, 8 deletions
diff --git a/src/qml/animations/qanimationgroupjob.cpp b/src/qml/animations/qanimationgroupjob.cpp index 344791fd83..66599561fc 100644 --- a/src/qml/animations/qanimationgroupjob.cpp +++ b/src/qml/animations/qanimationgroupjob.cpp @@ -120,13 +120,9 @@ void QAnimationGroupJob::removeAnimation(QAbstractAnimationJob *animation) void QAnimationGroupJob::clear() { - QAbstractAnimationJob *child = firstChild(); - QAbstractAnimationJob *nextSibling = nullptr; - while (child != nullptr) { - child->m_group = nullptr; - nextSibling = child->nextSibling(); - delete child; - child = nextSibling; + while (QAbstractAnimationJob *child = firstChild()) { + removeAnimation(child); + delete child; } m_firstChild = nullptr; m_lastChild = nullptr; diff --git a/src/qml/animations/qsequentialanimationgroupjob.cpp b/src/qml/animations/qsequentialanimationgroupjob.cpp index 0595141d60..d98546122f 100644 --- a/src/qml/animations/qsequentialanimationgroupjob.cpp +++ b/src/qml/animations/qsequentialanimationgroupjob.cpp @@ -206,9 +206,11 @@ int QSequentialAnimationGroupJob::duration() const void QSequentialAnimationGroupJob::clear() { - m_currentAnimation = nullptr; m_previousLoop = 0; QAnimationGroupJob::clear(); + + // clear() should call removeAnimation(), which will clear m_currentAnimation, eventually. + Q_ASSERT(m_currentAnimation == nullptr); } void QSequentialAnimationGroupJob::updateCurrentTime(int currentTime) |