aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmljavascriptexpression.cpp
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-09-15 10:12:21 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2021-10-01 14:04:02 +0200
commitde28bc00f514c3ee8d8fd3166973c063766e77fd (patch)
treedd7e8741f1bdb2c6dc51595dde5844e2d81e9d6b /src/qml/qml/qqmljavascriptexpression.cpp
parent61128f2578954c576d00c20ce74eafe2eb0ccd77 (diff)
QQmlBinding::dependencies: Handle QProperty
The method did not consider QProperty properties, as those do not show up via the active guards mechanism. At some point, we probably also want to introduce QQmlAnyBinding::dependencies, as there are now bindings which do not derive from QQmlBinding. Pick-to: 6.2 Change-Id: Ib4b227a440e9494c09d92028f9eaa5ad1e87342f Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Diffstat (limited to 'src/qml/qml/qqmljavascriptexpression.cpp')
-rw-r--r--src/qml/qml/qqmljavascriptexpression.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/qml/qml/qqmljavascriptexpression.cpp b/src/qml/qml/qqmljavascriptexpression.cpp
index f25fd0795c..b8b34d2071 100644
--- a/src/qml/qml/qqmljavascriptexpression.cpp
+++ b/src/qml/qml/qqmljavascriptexpression.cpp
@@ -537,6 +537,16 @@ void QPropertyChangeTrigger::trigger(QPropertyObserver *observer, QUntypedProper
This->m_expression->expressionChanged();
}
+QMetaProperty QPropertyChangeTrigger::property() const
+{
+ if (!target)
+ return {};
+ auto const mo = target->metaObject();
+ if (!mo)
+ return {};
+ return mo->property(propertyIndex);
+}
+
QPropertyChangeTrigger *QQmlJavaScriptExpression::allocatePropertyChangeTrigger(QObject *target, int propertyIndex)
{
auto trigger = QQmlEnginePrivate::get(engine())->qPropertyTriggerPool.New( this );