diff options
author | Olivier De Cannière <[email protected]> | 2025-06-24 15:14:53 +0200 |
---|---|---|
committer | Olivier De Cannière <[email protected]> | 2025-07-02 14:44:04 +0200 |
commit | 5935a839482f010e13049f89ca30fa2793ee58a3 (patch) | |
tree | b46a602600e6810e5c53886fb28728d9e84ea018 /src/qmltest/quicktestutil.cpp | |
parent | 6ead474c839c84788e18a6518726c60fd8b6399d (diff) |
When trying to resolve all aliases on an object, we iterate over them
one by one. If all are resolved successfully, we return
AllAliasesResolved and consider this object done, if an alias fails, we
return NoAliasResolved or SomeAliasesResolved and we will try again
later. This can be the case for aliases to aliases. We defer resolving
the first one until the target alias is resolved first.
There was a bug in the logic that counts how many of the aliases were
successfully resolved and how many were skipped. When skipping an alias
to an alias, we cannot count it among the completed ones.
This leads to an alias not being resolved and added to the property
cache. Thankfully, a runtime assert then catches the discrepancy between
the number of aliases in the property cache and in the compilation unit.
Early exit when detecting that the alias points to a non-local
unresolved alias to try again later. Also update the aliasIndex as part
of the for loop update.
Amends 9e1378260a3f3a6eb4cad8d6ae47bc218e6a2b5f
Pick-to: 6.10
Change-Id: I6ee7a796a0b4890393d5b17ebea2686c55955394
Reviewed-by: Ulf Hermann <[email protected]>
Diffstat (limited to 'src/qmltest/quicktestutil.cpp')
0 files changed, 0 insertions, 0 deletions