aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsfunctioninitializer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmlcompiler/qqmljsfunctioninitializer.cpp')
-rw-r--r--src/qmlcompiler/qqmljsfunctioninitializer.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/qmlcompiler/qqmljsfunctioninitializer.cpp b/src/qmlcompiler/qqmljsfunctioninitializer.cpp
index 54bef282ea..b3c448072c 100644
--- a/src/qmlcompiler/qqmljsfunctioninitializer.cpp
+++ b/src/qmlcompiler/qqmljsfunctioninitializer.cpp
@@ -206,12 +206,11 @@ QQmlJSCompilePass::Function QQmlJSFunctionInitializer::run(
}
const auto property = m_objectType->property(propertyName);
- function.returnType = property.isList()
- ? m_typeResolver->listType(property.type(), QQmlJSTypeResolver::UseQObjectList)
- : QQmlJSScope::ConstPtr(property.type());
-
-
- if (!function.returnType) {
+ if (const QQmlJSScope::ConstPtr propertyType = property.type()) {
+ function.returnType = propertyType->isListProperty()
+ ? m_typeResolver->qObjectListType()
+ : propertyType;
+ } else {
diagnose(u"Cannot resolve property type %1 for binding on %2"_s.arg(
property.typeName(), propertyName),
QtWarningMsg, bindingLocation, error);