diff options
author | Fabian Kosmale <[email protected]> | 2021-02-26 10:31:48 +0100 |
---|---|---|
committer | Fabian Kosmale <[email protected]> | 2021-03-04 12:53:47 +0100 |
commit | 88464aa5635188b4921f299de2f645086b33a2c7 (patch) | |
tree | 91bfca1e121ff7aa5d92b4001a939381b6bc033c /src/quick/util/qquicktransitionmanager.cpp | |
parent | 50e984c07229b753d6558610e7fa7c7df733fe50 (diff) |
Use QQmlAnyBinding in QQuickState and related classes
Fixes: QTBUG-91000
Change-Id: I80b54d85ab694f0fbce8a05f55881cc88fefb1da
Reviewed-by: Ulf Hermann <[email protected]>
Diffstat (limited to 'src/quick/util/qquicktransitionmanager.cpp')
-rw-r--r-- | src/quick/util/qquicktransitionmanager.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/quick/util/qquicktransitionmanager.cpp b/src/quick/util/qquicktransitionmanager.cpp index 0ee7e57997..97c1fcd045 100644 --- a/src/quick/util/qquicktransitionmanager.cpp +++ b/src/quick/util/qquicktransitionmanager.cpp @@ -109,8 +109,8 @@ void QQuickTransitionManager::complete() void QQuickTransitionManagerPrivate::applyBindings() { for (const QQuickStateAction &action : qAsConst(bindingsList)) { - if (action.toBinding) { - QQmlPropertyPrivate::setBinding(action.toBinding.data()); + if (auto binding = action.toBinding; binding) { + binding.installOn(action.property, QQmlAnyBinding::RespectInterceptors); } else if (action.event) { if (action.reverseEvent) action.event->reverse(); @@ -160,8 +160,8 @@ void QQuickTransitionManager::transition(const QList<QQuickStateAction> &list, // Apply all the property and binding changes for (const QQuickStateAction &action : qAsConst(applyList)) { - if (action.toBinding) { - QQmlPropertyPrivate::setBinding(action.toBinding.data(), QQmlPropertyPrivate::None, QQmlPropertyData::BypassInterceptor | QQmlPropertyData::DontRemoveBinding); + if (auto binding = action.toBinding; binding) { + binding.installOn(action.property); } else if (!action.event) { QQmlPropertyPrivate::write(action.property, action.toValue, QQmlPropertyData::BypassInterceptor | QQmlPropertyData::DontRemoveBinding); } else if (action.event->isReversable()) { |