diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-09-23 11:26:16 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-25 13:13:30 +0200 |
commit | 443f99eafb2337f23272f02b1e4c28d9e8310c67 (patch) | |
tree | ea9943d1195f4377e4584b699ae8bc03ae60b64a /src/qml/qml/qqmlobjectcreator_p.h | |
parent | f1901b9289d10eb4696336c969ae49512b9930b3 (diff) |
Fix bindings on properties in grouped value type properties
... such as
point.x: { someExpression }
This requires special handling to install the QQmlBinding not on the
value type itself (not possible) but on the point property itself.
Fixes tst_qqmllanguage::valueTypes
Change-Id: I8f95379e1872dff7cdcc0480c229a5e68f3cf575
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml/qqmlobjectcreator_p.h')
-rw-r--r-- | src/qml/qml/qqmlobjectcreator_p.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlobjectcreator_p.h b/src/qml/qml/qqmlobjectcreator_p.h index fe3a4bb00a..131271c5c6 100644 --- a/src/qml/qml/qqmlobjectcreator_p.h +++ b/src/qml/qml/qqmlobjectcreator_p.h @@ -127,7 +127,8 @@ public: private: QObject *createInstance(int index, QObject *parent = 0); - bool populateInstance(int index, QObject *instance, QQmlRefPointer<QQmlPropertyCache> cache, QObject *scopeObjectForJavaScript); + bool populateInstance(int index, QObject *instance, QQmlRefPointer<QQmlPropertyCache> cache, + QObject *scopeObjectForJavaScript, QQmlPropertyData *valueTypeProperty); void setupBindings(); bool setPropertyValue(QQmlPropertyData *property, int index, const QV4::CompiledData::Binding *binding); @@ -146,6 +147,8 @@ private: QQmlCompiledData *compiledData; QObject *_qobject; + QObject *_qobjectForBindings; + QQmlPropertyData *_valueTypeProperty; // belongs to _qobjectForBindings's property cache const QV4::CompiledData::Object *_compiledObject; QQmlData *_ddata; QQmlRefPointer<QQmlPropertyCache> _propertyCache; |