diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-09-16 14:47:12 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-20 14:26:30 +0200 |
commit | d847bf07a2659a9b1bf022565eca5455f918b50c (patch) | |
tree | 80791f07f864e586f79688cc5ae63453f8729a4e /src/qml/qml/qqmlobjectcreator_p.h | |
parent | 21a7409446ba43066c7c8209edc37cf5b9a7bb94 (diff) |
[new compiler] Fix timing of binding enabling
Enabling bindings right before emitting Component.onComplete
Change-Id: I4cc330f5e59b326368c617f16a7d4fd51b6c50db
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 3bfa006a6d..c247fe22f6 100644 --- a/src/qml/qml/qqmlobjectcreator_p.h +++ b/src/qml/qml/qqmlobjectcreator_p.h @@ -45,6 +45,7 @@ #include <private/qqmltypenamecache_p.h> #include <private/qv4compileddata_p.h> #include <private/qqmlcompiler_p.h> +#include <QLinkedList> QT_BEGIN_NAMESPACE @@ -95,7 +96,7 @@ public: private: void populateInstance(int index, QObject *instance, QQmlRefPointer<QQmlPropertyCache> cache); - QVector<QQmlAbstractBinding *> setupBindings(QV4::ExecutionContext *qmlContext); + void setupBindings(QV4::ExecutionContext *qmlContext); void setPropertyValue(QQmlPropertyData *property, const QV4::CompiledData::Binding *binding); void setupFunctions(QV4::ExecutionContext *qmlContext); @@ -111,12 +112,14 @@ private: const QList<QQmlPropertyCache *> propertyCaches; const QList<QByteArray> vmeMetaObjectData; const QHash<int, int> &objectIndexToId; + QLinkedList<QVector<QQmlAbstractBinding*> > allCreatedBindings; QObject *_qobject; const QV4::CompiledData::Object *_compiledObject; QQmlData *_ddata; QQmlRefPointer<QQmlPropertyCache> _propertyCache; QQmlVMEMetaObject *_vmeMetaObject; + QVector<QQmlAbstractBinding*> _createdBindings; }; QT_END_NAMESPACE |