aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qqmlcodegenerator.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-01-15 17:29:04 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-20 15:10:00 +0100
commitae0a2ea25714af603babe5aa0de364d1ebae1170 (patch)
tree91a0845dd397af79b30341aae64f6c24f0f43197 /src/qml/compiler/qqmlcodegenerator.cpp
parentf8176d72ac491469ccf0288cbb86c0ccc12fb47b (diff)
[new compiler] Add support for QML list models
List model definitions make heavy use of custom parsers, which requires AST access as well as a general port to the new QQmlCustomParser API. Additional fixes in the custom parser support were needed to pass all tests: * Fix support for AcceptsSignalHandlers and AcceptsAttachedProperties * Don't call setCustomData unless the compiler generated data earlier Change-Id: Ic42f8a890391267c94f63d35f055b60fdbf3c83d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qqmlcodegenerator.cpp')
-rw-r--r--src/qml/compiler/qqmlcodegenerator.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qml/compiler/qqmlcodegenerator.cpp b/src/qml/compiler/qqmlcodegenerator.cpp
index 46bb07f8bc..629671399d 100644
--- a/src/qml/compiler/qqmlcodegenerator.cpp
+++ b/src/qml/compiler/qqmlcodegenerator.cpp
@@ -1640,7 +1640,8 @@ bool SignalHandlerConverter::convertSignalHandlerExpressionsToFunctionDeclaratio
if (elementName.isEmpty())
continue;
QQmlCompiledData::TypeReference *tr = unit->resolvedTypes.value(obj->inheritedTypeNameIndex);
- if (tr && tr->type && tr->type->customParser())
+ QQmlCustomParser *customParser = (tr && tr->type) ? tr->type->customParser() : 0;
+ if (customParser && !(customParser->flags() & QQmlCustomParser::AcceptsSignalHandlers))
continue;
QQmlPropertyCache *cache = unit->propertyCaches.value(objectIndex);
Q_ASSERT(cache);