diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2012-03-09 09:16:50 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-15 01:33:24 +0100 |
commit | 5ae8caba10a79c2298939aff777a0201959a94af (patch) | |
tree | 2477ed24cb6d0c0309f662f1a63d26b4619df4ce /src/quick/util | |
parent | b06108350b1390b51886474628e03e2e84640548 (diff) |
Remove binding dependency on QQmlExpression
This is the first step to creating much lighter weight bindings that
are tuned for the specific scenario in which they're used.
Change-Id: Ib985dcff25679b711b5c634bbc891aa7902bf405
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'src/quick/util')
-rw-r--r-- | src/quick/util/qquickpropertychanges.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/quick/util/qquickpropertychanges.cpp b/src/quick/util/qquickpropertychanges.cpp index 83ddb2530e..8b0818c96c 100644 --- a/src/quick/util/qquickpropertychanges.cpp +++ b/src/quick/util/qquickpropertychanges.cpp @@ -478,12 +478,11 @@ QQuickPropertyChanges::ActionList QQuickPropertyChanges::actions() QQmlBinding::Identifier id = d->expressions.at(ii).id; QQmlBinding *newBinding = id != QQmlBinding::Invalid ? QQmlBinding::createBinding(id, object(), qmlContext(this), e->sourceFile(), e->lineNumber()) : 0; - if (!newBinding) { - newBinding = new QQmlBinding(e->expression(), object(), qmlContext(this)); - newBinding->setSourceLocation(e->sourceFile(), e->lineNumber(), e->columnNumber()); - } + if (!newBinding) + newBinding = new QQmlBinding(e->expression(), false, object(), QQmlContextData::get(qmlContext(this)), + e->sourceFile(), e->lineNumber(), e->columnNumber()); newBinding->setTarget(prop); - a.toBinding = newBinding; + a.toBinding = QQmlAbstractBinding::getPointer(newBinding); a.deletableToBinding = true; } @@ -682,7 +681,7 @@ void QQuickPropertyChanges::changeExpression(const QString &name, const QString } else { QQmlBinding *newBinding = new QQmlBinding(newExpression->expression(), object(), qmlContext(this)); newBinding->setTarget(d->property(name)); - action.toBinding = newBinding; + action.toBinding = QQmlAbstractBinding::getPointer(newBinding); action.deletableToBinding = true; state()->addEntryToRevertList(action); |