diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-10-11 11:09:17 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-17 01:05:43 +0200 |
commit | 063c08ab8230249ad01c1698ba243b9bb3b238e5 (patch) | |
tree | 38cd315aaddafc8d3eb93c2acf754d48bba1099c /src/declarative/qml/v8/qv8bindings.cpp | |
parent | 576e7ae3360632a981177800e758679ee4105950 (diff) |
Merge PropertyCache::Data and ValueTypeData
Change-Id: I22cbb159d009151dd77ecbcdad16f27ecb9d6dba
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'src/declarative/qml/v8/qv8bindings.cpp')
-rw-r--r-- | src/declarative/qml/v8/qv8bindings.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/declarative/qml/v8/qv8bindings.cpp b/src/declarative/qml/v8/qv8bindings.cpp index b94cebdf03..e1a0f4c0a2 100644 --- a/src/declarative/qml/v8/qv8bindings.cpp +++ b/src/declarative/qml/v8/qv8bindings.cpp @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE QV8Bindings::Binding::Binding() -: index(-1), enabled(false), updating(false), line(-1), parent(0) +: index(-1), enabled(false), updating(false), line(-1), object(0), parent(0) { } @@ -94,8 +94,10 @@ void QV8Bindings::Binding::update(QDeclarativePropertyPrivate::WriteFlags flags) &isUndefined); bool needsErrorData = false; - if (!watcher.wasDeleted() && !error.isValid()) - needsErrorData = !QDeclarativePropertyPrivate::writeBinding(property, this, result, isUndefined, flags); + if (!watcher.wasDeleted() && !error.isValid()) { + typedef QDeclarativePropertyPrivate PP; + needsErrorData = !PP::writeBinding(object, property, this, result, isUndefined, flags); + } if (!watcher.wasDeleted()) { @@ -120,7 +122,8 @@ void QV8Bindings::Binding::update(QDeclarativePropertyPrivate::WriteFlags flags) ep->dereferenceScarceResources(); } else { - QDeclarativeBindingPrivate::printBindingLoopError(property); + QDeclarativeProperty p = QDeclarativePropertyPrivate::restore(property, object, context); + QDeclarativeBindingPrivate::printBindingLoopError(p); } } @@ -179,13 +182,15 @@ QV8Bindings::~QV8Bindings() } QDeclarativeAbstractBinding *QV8Bindings::configBinding(int index, QObject *target, QObject *scope, - const QDeclarativeProperty &property, int line) + const QDeclarativePropertyCache::Data &p, + int line) { QV8Bindings::Binding *rv = bindings + index; rv->line = line; rv->index = index; - rv->property = property; + rv->object = target; + rv->property = p; rv->setContext(context()); rv->setScopeObject(scope); rv->setUseSharedContext(true); |