aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2022-06-09 10:49:03 +0200
committerUlf Hermann <ulf.hermann@qt.io>2022-06-10 14:41:49 +0200
commit2a4ec96ae00c7372b1827d3872990a47658d6ff5 (patch)
treec5a6e4349a26e84850a7911cdd59e78af9449523 /tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
parent8e69558f2f7d44f83779f7e1f60f811dfab0c275 (diff)
QmlCompiler: Don't retrieve metaobjects for value and sequence types
This is not valid QML, and the generated code crashes. Pick-to: 6.2 6.4 Fixes: QTBUG-104092 Change-Id: If609acc2f2dc84a2e8f7c26d4d1b6c626f337cad Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp')
-rw-r--r--tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
index 8733bf6b96..9c1f83fa2f 100644
--- a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
+++ b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
@@ -138,6 +138,7 @@ private slots:
void valueTypeLists();
void boundComponents();
void invisibleListElementType();
+ void typePropertyClash();
};
void tst_QmlCppCodegen::simpleBinding()
@@ -2201,6 +2202,17 @@ void tst_QmlCppCodegen::invisibleListElementType()
QCOMPARE(ref.size(), 0);
}
+void tst_QmlCppCodegen::typePropertyClash()
+{
+ QQmlEngine engine;
+ engine.rootContext()->setContextProperty(u"size"_s, 5);
+ QQmlComponent c(&engine, QUrl(u"qrc:/TestTypes/typePropertyClash.qml"_s));
+ QVERIFY2(c.isReady(), qPrintable(c.errorString()));
+ QScopedPointer<QObject> o(c.create());
+ QVERIFY(!o.isNull());
+ QCOMPARE(o->objectName(), u"Size: 5"_s);
+}
+
void tst_QmlCppCodegen::runInterpreted()
{
#ifdef Q_OS_ANDROID