diff options
Diffstat (limited to 'src/quick/util/qquickstate.cpp')
-rw-r--r-- | src/quick/util/qquickstate.cpp | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/src/quick/util/qquickstate.cpp b/src/quick/util/qquickstate.cpp index 51bc9852f4..1f066270c6 100644 --- a/src/quick/util/qquickstate.cpp +++ b/src/quick/util/qquickstate.cpp @@ -112,7 +112,7 @@ QQuickStateOperation::QQuickStateOperation(QObjectPrivate &dd, QObject *parent) not allowed. \sa {Qt Quick Examples - Animation#States}{States example}, {Qt Quick States}, - {Animation and Transitions in Qt Quick}{Transitions}, {Qt QML} + {Animation and Transitions in Qt Quick}{Transitions}, {Qt Qml} */ QQuickState::QQuickState(QObject *parent) : QObject(*(new QQuickStatePrivate), parent) @@ -419,27 +419,25 @@ void QQuickState::addEntryToRevertList(const QQuickStateAction &action) void QQuickState::removeAllEntriesFromRevertList(QObject *target) { - Q_D(QQuickState); - - if (isStateActive()) { - const auto actionMatchesTarget = [target](QQuickSimpleAction &simpleAction) { - if (simpleAction.property().object() == target) { - QQmlPropertyPrivate::removeBinding(simpleAction.property()); - simpleAction.property().write(simpleAction.value()); - if (auto binding = simpleAction.binding()) { - QQmlProperty prop = simpleAction.property(); - binding.installOn(prop); - } - - return true; - } - return false; - }; - - d->revertList.erase(std::remove_if(d->revertList.begin(), d->revertList.end(), - actionMatchesTarget), - d->revertList.end()); - } + Q_D(QQuickState); + + if (isStateActive()) { + const auto actionMatchesTarget = [target](const QQuickSimpleAction &simpleAction) { + if (simpleAction.property().object() == target) { + QQmlPropertyPrivate::removeBinding(simpleAction.property()); + simpleAction.property().write(simpleAction.value()); + if (auto binding = simpleAction.binding()) { + QQmlProperty prop = simpleAction.property(); + binding.installOn(prop); + } + + return true; + } + return false; + }; + + d->revertList.removeIf(actionMatchesTarget); + } } void QQuickState::addEntriesToRevertList(const QList<QQuickStateAction> &actionList) |