diff options
author | Knud Dollereder <knud.dollereder@qt.io> | 2022-07-07 12:08:50 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-07-13 12:46:39 +0000 |
commit | ec41103ea2ca5b56d536d096926acc75065596c2 (patch) | |
tree | 68817e78bffdda162b80203cf81cdbeffd1ae957 | |
parent | b485cb0239b770f2b5c45f7b9bb474d7ba2d6e5d (diff) |
Fix an occasional crash in the qmlpuppet
QQuickKeyframeGroupPrivate::keyframes and
QQuickKeyframeGroupPrivate::sortedKeyframes
need to stay in sync in order to function correctly.
This patch adds a call to the synchronizing function
in clear_keyframes like it was done in append_keyframe.
Change-Id: I74f88c83baa18cec4cbe2f3ffc30ade158035f44
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit bb4f751b452b3f25a7eacdc24fcb362a2c992a2d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/timeline/qquickkeyframe.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/timeline/qquickkeyframe.cpp b/src/timeline/qquickkeyframe.cpp index 1679231..57c91ad 100644 --- a/src/timeline/qquickkeyframe.cpp +++ b/src/timeline/qquickkeyframe.cpp @@ -171,10 +171,8 @@ QQuickKeyframe* QQuickKeyframeGroupPrivate::keyframe_at(QQmlListProperty<QQuickK void QQuickKeyframeGroupPrivate::clear_keyframes(QQmlListProperty<QQuickKeyframe> *list) { auto q = static_cast<QQuickKeyframeGroup *>(list->object); - while (q->d_func()->keyframes.count()) { - QQuickKeyframe *firstKeyframe = q->d_func()->keyframes.at(0); - q->d_func()->keyframes.removeAll(firstKeyframe); - } + q->d_func()->keyframes.clear(); + q->d_func()->setupKeyframes(); } class QQuickKeyframePrivate : public QObjectPrivate |