aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlobjectcreator_p.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-09-23 11:26:16 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-25 13:13:30 +0200
commit443f99eafb2337f23272f02b1e4c28d9e8310c67 (patch)
treeea9943d1195f4377e4584b699ae8bc03ae60b64a /src/qml/qml/qqmlobjectcreator_p.h
parentf1901b9289d10eb4696336c969ae49512b9930b3 (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.h5
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;