diff options
Diffstat (limited to 'src/qml/qml/qqmlpropertybinding_p.h')
-rw-r--r-- | src/qml/qml/qqmlpropertybinding_p.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlpropertybinding_p.h b/src/qml/qml/qqmlpropertybinding_p.h index 1ea82b26be..4a9d1f4558 100644 --- a/src/qml/qml/qqmlpropertybinding_p.h +++ b/src/qml/qml/qqmlpropertybinding_p.h @@ -74,7 +74,8 @@ public: static QUntypedPropertyBinding create(const QQmlPropertyData *pd, QV4::Function *function, QObject *obj, const QQmlRefPointer<QQmlContextData> &ctxt, - QV4::ExecutionContext *scope); + QV4::ExecutionContext *scope, QObject *target, + QQmlPropertyIndex targetIndex); void expressionChanged() override; @@ -87,11 +88,21 @@ public: } private: - QQmlPropertyBinding(QMetaType metaType); + QQmlPropertyBinding(QMetaType metaType, QObject *target, QQmlPropertyIndex targetIndex); bool evaluate(QMetaType metaType, void *dataPtr); + QString createBindingLoopErrorDescription(QJSEnginePrivate *ep); + struct TargetData { + QObject *target; + QQmlPropertyIndex targetIndex; + }; + + QObject *target(); + QQmlPropertyIndex targetIndex(); + + static void bindingErrorCallback(QPropertyBindingPrivate *); }; template <auto I> |