From bc871587b2dd603af34a629b417b79d2c8540601 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 9 Jan 2014 17:07:36 +0100 Subject: [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 --- src/qml/qml/qqmlobjectcreator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/qml') 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) { -- cgit v1.2.3