aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlvmemetaobject.cpp
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2019-09-05 17:30:43 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2019-09-05 19:57:45 +0200
commitb801bee81bcba9af69eb0ed5f4b4666d511719f2 (patch)
tree4dab750b769e545d89ad14e3acf0183823dbf015 /src/qml/qml/qqmlvmemetaobject.cpp
parentc550b71fb93279a1788aec809c874b779d88b987 (diff)
QQmlVMEMetaObject::aliasTarget: fix target computation for local alias
Change-Id: I6966018e3f480b1b28dc441eae2910baadcd1b48 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlvmemetaobject.cpp')
-rw-r--r--src/qml/qml/qqmlvmemetaobject.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlvmemetaobject.cpp b/src/qml/qml/qqmlvmemetaobject.cpp
index b9d8fed243..a67ac7384d 100644
--- a/src/qml/qml/qqmlvmemetaobject.cpp
+++ b/src/qml/qml/qqmlvmemetaobject.cpp
@@ -1180,6 +1180,8 @@ bool QQmlVMEMetaObject::aliasTarget(int index, QObject **target, int *coreIndex,
const int aliasId = index - propOffset() - compiledObject->nProperties;
const QV4::CompiledData::Alias *aliasData = &compiledObject->aliasTable()[aliasId];
+ while (aliasData->aliasToLocalAlias)
+ aliasData = &compiledObject->aliasTable()[aliasData->localAliasIndex];
*target = ctxt->idValues[aliasData->targetObjectId].data();
if (!*target)
return false;