aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlcompiler/qqmljsoptimizations.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2025-09-22 08:57:53 +0200
committerUlf Hermann <ulf.hermann@qt.io>2025-09-23 09:43:33 +0200
commit044d3d2cdb7ba825069b3d1302b96723cb75d6ca (patch)
tree8778ced4a368c202108bbc7307eb10dd760e8907 /src/qmlcompiler/qqmljsoptimizations.cpp
parent2ef3de7803b9a35f58dc1355d5d6ad986fff18fc (diff)
QmlCompiler: Don't adjust the same conversion multiple times
The same conversion can re-surface in multiple places in the byte code by virtue of being stored and loaded unchanged. If we've already adjusted it, we don't need to do it again. Pick-to: 6.10 Fixes: QTBUG-140415 Change-Id: Ic1e7e90af49f0ee9440a9c37abd4ab8ee0fdbe3e Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io> Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Diffstat (limited to 'src/qmlcompiler/qqmljsoptimizations.cpp')
-rw-r--r--src/qmlcompiler/qqmljsoptimizations.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qmlcompiler/qqmljsoptimizations.cpp b/src/qmlcompiler/qqmljsoptimizations.cpp
index 2aa84591f9..abceb8ef89 100644
--- a/src/qmlcompiler/qqmljsoptimizations.cpp
+++ b/src/qmlcompiler/qqmljsoptimizations.cpp
@@ -481,7 +481,7 @@ void QQmlJSOptimizations::adjustTypes()
QQmlJSScope::ConstPtr newResult;
const auto content = conversion->second.content;
- if (content.isConversion()) {
+ if (content.isConversion() && !content.original().isValid()) {
const auto conversionOrigins = content.conversionOrigins();
for (const auto &origin : conversionOrigins)
newResult = m_typeResolver->merge(newResult, origin.containedType());