diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-07-04 14:17:00 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-07-04 12:20:09 +0000 |
commit | 372298e8f38846769276c8c4d70e6732c4878249 (patch) | |
tree | 5ad16a40e695126e28629a8d1c80dd556f375523 /src/qml/compiler/qqmlirbuilder.cpp | |
parent | f3561037c9892c9c467f618ce3000567a4924363 (diff) |
Bring back captureRequired on scope/contest property loading
This is needed to properly register permanent/temporary dependencies
This patch also removes related interpreter instructions that should
have changed, but were not used.
Change-Id: Ie53c4611766680734c02e328b7f2c752cae150e0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/compiler/qqmlirbuilder.cpp')
-rw-r--r-- | src/qml/compiler/qqmlirbuilder.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/qml/compiler/qqmlirbuilder.cpp b/src/qml/compiler/qqmlirbuilder.cpp index f34a797508..174602dfcd 100644 --- a/src/qml/compiler/qqmlirbuilder.cpp +++ b/src/qml/compiler/qqmlirbuilder.cpp @@ -2014,7 +2014,9 @@ QV4::Compiler::Codegen::Reference JSCodeGen::fallbackNameLookup(const QString &n if (!data) return Reference::fromName(this, name); Reference base = Reference::fromTemp(this, _qmlContextTemp); - return Reference::fromQmlScopeObject(base, data->coreIndex(), data->notifyIndex()); + bool captureRequired = !data->isConstant() && !data->isQmlBinding(); + return Reference::fromQmlScopeObject(base, data->coreIndex(), data->notifyIndex(), + captureRequired); } if (_contextObject) { @@ -2022,7 +2024,9 @@ QV4::Compiler::Codegen::Reference JSCodeGen::fallbackNameLookup(const QString &n if (!data) return Reference::fromName(this, name); Reference base = Reference::fromTemp(this, _qmlContextTemp); - return Reference::fromQmlContextObject(base, data->coreIndex(), data->notifyIndex()); + bool captureRequired = !data->isConstant() && !data->isQmlBinding(); + return Reference::fromQmlContextObject(base, data->coreIndex(), data->notifyIndex(), + captureRequired); } #else Q_UNUSED(name) |