QmlCompiler: Pass QVariant as-is to functions accepting var

The QML engine will helpfully re-assemble our variant if we pass it in
pieces, but we should not rely on this.

Fixes: QTBUG-109005
Change-Id: I35d10b4ee61a0426049986bc6f83d6c880ddc281
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
Ulf Hermann 2022-11-29 16:33:57 +01:00
parent d1b9a4cacf
commit 97f348f6b9
1 changed files with 2 additions and 1 deletions

View File

@ -1184,7 +1184,8 @@ QString QQmlJSCodeGenerator::argumentsList(int argc, int argv, QString *outVar)
+ conversion(content.storedType(), m_typeResolver->varType(), var) + u";\n"_s;
args += u", "_s + argName + u".data()"_s;
types += u", "_s + argName + u".metaType()"_s;
} else if (m_typeResolver->registerIsStoredIn(content, m_typeResolver->varType())) {
} else if (m_typeResolver->registerIsStoredIn(content, m_typeResolver->varType())
&& !m_typeResolver->registerContains(content, m_typeResolver->varType())) {
args += u", "_s + var + u".data()"_s;
types += u", "_s + var + u".metaType()"_s;
} else {