aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-12-11 13:41:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-08 10:04:41 +0100
commit2f185926500dba417b95ff33b0546c0d8d3ce9c0 (patch)
tree2751915da85209294caeb137308372f9c43d66f9 /src/qml/qml
parent4a2f09f14a4b79006e661b6d98c03909c4ba9db1 (diff)
[new compiler] Fix assigning signal handlers
When assigning a signal handler to the fooChanged property, we need to look up fooChanged as signal function, not as data property. Change-Id: I4c0e4374cea8ce9596428975e45e78a0b743a6fc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/qml')
-rw-r--r--src/qml/qml/qqmlobjectcreator.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlobjectcreator.cpp b/src/qml/qml/qqmlobjectcreator.cpp
index abf978801d..e6bf36bbf1 100644
--- a/src/qml/qml/qqmlobjectcreator.cpp
+++ b/src/qml/qml/qqmlobjectcreator.cpp
@@ -1794,7 +1794,10 @@ bool QQmlPropertyValidator::validateObject(const QV4::CompiledData::Object *obj,
bool notInRevision = false;
QQmlPropertyData *pd = 0;
if (!name.isEmpty()) {
- pd = propertyResolver.property(name, &notInRevision);
+ if (binding->flags & QV4::CompiledData::Binding::IsSignalHandlerExpression)
+ pd = propertyResolver.signal(name, &notInRevision);
+ else
+ pd = propertyResolver.property(name, &notInRevision);
if (notInRevision) {
QString typeName = stringAt(obj->inheritedTypeNameIndex);