diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-12-11 13:41:05 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-08 10:04:41 +0100 |
commit | 2f185926500dba417b95ff33b0546c0d8d3ce9c0 (patch) | |
tree | 2751915da85209294caeb137308372f9c43d66f9 /src/qml/qml | |
parent | 4a2f09f14a4b79006e661b6d98c03909c4ba9db1 (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.cpp | 5 |
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, ¬InRevision); + if (binding->flags & QV4::CompiledData::Binding::IsSignalHandlerExpression) + pd = propertyResolver.signal(name, ¬InRevision); + else + pd = propertyResolver.property(name, ¬InRevision); if (notInRevision) { QString typeName = stringAt(obj->inheritedTypeNameIndex); |