diff options
| author | Olivier De Cannière <olivier.decanniere@qt.io> | 2024-01-22 14:44:27 +0100 |
|---|---|---|
| committer | Olivier De Cannière <olivier.decanniere@qt.io> | 2024-01-29 17:02:28 +0100 |
| commit | 3672a173df7a518ff375dcd5931a1ce5255d4115 (patch) | |
| tree | c1e8bddbadddf2ddc6b01e7cc6b30f932f4bf776 /tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp | |
| parent | c61525f3aaa59f8de2e9b090c25ba739f097cec0 (diff) | |
Compiler: Don't crash on optional lookups on QJSValue base type
Handle the case where the base type of the lookup is QJSValue so that we
don't hit the assert.
However, it should not be possible to get a QJSValue there at all. This
should be investigated further. Created QTBUG-121662.
Pick-to: 6.7
Fixes: QTBUG-121393
Change-Id: I8bea87cbff74119bb977635ec391601f47269ff0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp')
| -rw-r--r-- | tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp index 2fc5129230..88c4e2375f 100644 --- a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp +++ b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp @@ -112,6 +112,7 @@ private slots: void functionTakingVar(); void getOptionalLookup(); void getOptionalLookup_data(); + void getOptionalLookupOnQJSValueNonStrict(); void globals(); void idAccess(); void ignoredFunctionReturn(); @@ -2112,6 +2113,18 @@ void tst_QmlCppCodegen::getOptionalLookup() QCOMPARE(actual, expected); } +void tst_QmlCppCodegen::getOptionalLookupOnQJSValueNonStrict() +{ + QQmlEngine engine; + const QUrl document(u"qrc:/qt/qml/TestTypes/GetOptionalLookupOnQJSValueNonStrict.qml"_s); + QQmlComponent c(&engine, document); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + QScopedPointer<QObject> o(c.create()); + QVERIFY(o); + + QVERIFY(o->property("b").toBool()); +} + void tst_QmlCppCodegen::globals() { QQmlEngine engine; |
