aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2023-12-08 11:44:30 +0100
committerUlf Hermann <ulf.hermann@qt.io>2023-12-08 20:11:28 +0100
commit87d27d06543b442f1ab1c29c22a1ad4f2432034e (patch)
tree918ef72736bd5020676218bbb9654f7c488bf4b9 /tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
parent43625c714079dd2be6a074f65f2eaf8355694ec3 (diff)
QML: Don't crash when calling coerceAndCall() with null thisObject
Pick-to: 6.6 6.5 Fixes: QTBUG-119395 Change-Id: I5877beef9a53d358a6f58f9ce5029688bd9dcedb Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp')
-rw-r--r--tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp13
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 259bac97e8..30a3eca882 100644
--- a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
+++ b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp
@@ -178,6 +178,7 @@ private slots:
void popContextAfterRet();
void prefixedType();
void propertyOfParent();
+ void reduceWithNullThis();
void readEnumFromInstance();
void registerElimination();
void registerPropagation();
@@ -3711,6 +3712,18 @@ void tst_QmlCppCodegen::propertyOfParent()
}
}
+void tst_QmlCppCodegen::reduceWithNullThis()
+{
+ QQmlEngine engine;
+ QQmlComponent component(&engine, QUrl(u"qrc:/qt/qml/TestTypes/reduceWithNullThis.qml"_s));
+ QVERIFY2(component.isReady(), component.errorString().toUtf8());
+ QScopedPointer<QObject> object(component.create());
+ QVERIFY(!object.isNull());
+
+ QCOMPARE(object->property("preferredHeight").toDouble(), 28.0);
+ QCOMPARE(object->property("preferredHeight2").toDouble(), 28.0);
+}
+
void tst_QmlCppCodegen::readEnumFromInstance()
{
QQmlEngine engine;