aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsoptimizations.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2024-11-22 12:05:21 +0100
committerUlf Hermann <ulf.hermann@qt.io>2024-11-23 00:44:15 +0100
commitee6ad8f125ad083868d581a098a5f815e4d6f7a0 (patch)
treeae38d3447889882b955af2d373a86d3d3f627679 /src/qmlcompiler/qqmljsoptimizations.cpp
parent8841954ee27c2bd846ce867c6f76d3c5c220b0c6 (diff)
QmlCompiler: Do not adjust object definitions multiple times
Once we have handled them, we need to remove them from the list of reader locations. Task-number: QTBUG-124670 Change-Id: Ibe08a86a497c42fcca1d246d38e68e73e9a98fe5 Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljsoptimizations.cpp')
-rw-r--r--src/qmlcompiler/qqmljsoptimizations.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljsoptimizations.cpp b/src/qmlcompiler/qqmljsoptimizations.cpp
index 4e53c7e322..fc45cd2a90 100644
--- a/src/qmlcompiler/qqmljsoptimizations.cpp
+++ b/src/qmlcompiler/qqmljsoptimizations.cpp
@@ -376,6 +376,8 @@ void QQmlJSOptimizations::adjustTypes()
if (!m_typeResolver->adjustTrackedType(resultType, it->typeReaders.values()))
addError(adjustErrorMessage(resultType, it->typeReaders.values()));
+ m_readerLocations.erase(it);
+
if (m_typeResolver->equals(resultType, m_typeResolver->varType())
|| m_typeResolver->equals(resultType, m_typeResolver->variantMapType())
|| m_typeResolver->equals(resultType, m_typeResolver->jsValueType())) {