aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/v8/qv8bindings.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-10-11 11:09:17 +1000
committerQt by Nokia <qt-info@nokia.com>2011-10-17 01:05:43 +0200
commit063c08ab8230249ad01c1698ba243b9bb3b238e5 (patch)
tree38cd315aaddafc8d3eb93c2acf754d48bba1099c /src/declarative/qml/v8/qv8bindings.cpp
parent576e7ae3360632a981177800e758679ee4105950 (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.cpp17
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);