aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-01-09 17:07:36 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-14 17:21:08 +0100
commitbc871587b2dd603af34a629b417b79d2c8540601 (patch)
tree1db63206a2b1b643a9208e78b3ab92e727e4a2a3 /src
parent5df2dc3b4487da01fbd1e3cf06771f3d5b251d62 (diff)
[new compiler] Fix mix of bindings and signal handlers
When storing a binding, we remove any previous binding. If we store a signal handler, we look up the same property, but we must not destroy any existing bindings: property int someThing: { ...} onSomeThingChanged: { ...} Change-Id: Ie5afd986ee3d8b4f2efd0aabca331c33a225abfc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/qml/qml/qqmlobjectcreator.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlobjectcreator.cpp b/src/qml/qml/qqmlobjectcreator.cpp
index 7a3d669dd6..69f6386dab 100644
--- a/src/qml/qml/qqmlobjectcreator.cpp
+++ b/src/qml/qml/qqmlobjectcreator.cpp
@@ -703,7 +703,7 @@ bool QmlObjectCreator::setPropertyValue(QQmlPropertyData *property, int bindingI
}
}
- if (_ddata->hasBindingBit(property->coreIndex))
+ if (_ddata->hasBindingBit(property->coreIndex) && !(binding->flags & QV4::CompiledData::Binding::IsSignalHandlerExpression))
removeBindingOnProperty(_bindingTarget, property->coreIndex);
if (binding->type == QV4::CompiledData::Binding::Type_Script) {