diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2022-06-09 10:49:03 +0200 |
|---|---|---|
| committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-06-10 14:41:49 +0200 |
| commit | 2a4ec96ae00c7372b1827d3872990a47658d6ff5 (patch) | |
| tree | c5a6e4349a26e84850a7911cdd59e78af9449523 /tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp | |
| parent | 8e69558f2f7d44f83779f7e1f60f811dfab0c275 (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.cpp | 12 |
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 |
