diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2021-01-07 13:59:43 +0100 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2021-01-11 15:21:54 +0100 |
commit | 30136b1a82bfc54459741483e76f2f70c937dedd (patch) | |
tree | 12151f821f667d1763cdd477841ab6fbafb2a641 /tests/auto | |
parent | 29e8c3a50bff884dc64d294707cae5cdec2ed097 (diff) |
Avoid crash for deep aliases
Aliases are seriously broken and need a larger overhaul.
This patch at least prevents the application from crashing.
Task-number: QTBUG-89822
Change-Id: Ib6acc5b6f621a902f7f5ce370043986486f3c0d0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qml/qqmllanguage/data/qtbug_89822.errors.txt | 1 | ||||
-rw-r--r-- | tests/auto/qml/qqmllanguage/data/qtbug_89822.qml | 8 | ||||
-rw-r--r-- | tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp | 7 |
3 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllanguage/data/qtbug_89822.errors.txt b/tests/auto/qml/qqmllanguage/data/qtbug_89822.errors.txt new file mode 100644 index 0000000000..d69122ef8b --- /dev/null +++ b/tests/auto/qml/qqmllanguage/data/qtbug_89822.errors.txt @@ -0,0 +1 @@ +6:40:Invalid alias target diff --git a/tests/auto/qml/qqmllanguage/data/qtbug_89822.qml b/tests/auto/qml/qqmllanguage/data/qtbug_89822.qml new file mode 100644 index 0000000000..17602ca4b9 --- /dev/null +++ b/tests/auto/qml/qqmllanguage/data/qtbug_89822.qml @@ -0,0 +1,8 @@ +import QtQml 2.0 + +QtObject { + id: root + readonly property QtObject test: QtObject { property int subproperty: 3} + readonly property alias testAlias: root.test.subproperty +} + diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp index 7d0d39f4cd..448ecaa5b3 100644 --- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp +++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp @@ -147,6 +147,7 @@ private slots: void aliasProperties(); void aliasPropertiesAndSignals(); void aliasPropertyChangeSignals(); + void qtbug_89822(); void componentCompositeType(); void i18n(); void i18n_data(); @@ -2213,6 +2214,12 @@ void tst_qqmllanguage::aliasPropertiesAndSignals() QCOMPARE(o->property("test").toBool(), true); } +void tst_qqmllanguage::qtbug_89822() +{ + QQmlComponent component(&engine, testFileUrl("qtbug_89822.qml")); + VERIFY_ERRORS("qtbug_89822.errors.txt"); +} + // Test that the root element in a composite type can be a Component void tst_qqmllanguage::componentCompositeType() { |