diff --git a/src/corelib/kernel/qproperty.h b/src/corelib/kernel/qproperty.h index 7924049698..1faf87aadc 100644 --- a/src/corelib/kernel/qproperty.h +++ b/src/corelib/kernel/qproperty.h @@ -566,6 +566,7 @@ Q_CORE_EXPORT void printMetaTypeMismatch(QMetaType actual, QMetaType expected); class QUntypedBindable { + friend struct QUntypedBindablePrivate; // allows access to internal data protected: QUntypedPropertyData *data = nullptr; const QtPrivate::QBindableInterface *iface = nullptr; diff --git a/src/corelib/kernel/qproperty_p.h b/src/corelib/kernel/qproperty_p.h index 6a074efebb..b2bba3d6f4 100644 --- a/src/corelib/kernel/qproperty_p.h +++ b/src/corelib/kernel/qproperty_p.h @@ -629,6 +629,19 @@ Q_CORE_EXPORT BindingEvaluationState *suspendCurrentBindingStatus(); Q_CORE_EXPORT void restoreBindingStatus(BindingEvaluationState *status); } +struct QUntypedBindablePrivate +{ + static QtPrivate::QBindableInterface const *getInterface(const QUntypedBindable &bindable) + { + return bindable.iface; + } + + static QUntypedPropertyData *getPropertyData(const QUntypedBindable &bindable) + { + return bindable.data; + } +}; + QT_END_NAMESPACE #endif // QPROPERTY_P_H