aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKnud Dollereder <knud.dollereder@qt.io>2022-07-07 12:08:50 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-07-13 12:46:39 +0000
commitec41103ea2ca5b56d536d096926acc75065596c2 (patch)
tree68817e78bffdda162b80203cf81cdbeffd1ae957
parentb485cb0239b770f2b5c45f7b9bb474d7ba2d6e5d (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.cpp6
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