diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-01-09 17:35:19 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-01-10 10:52:18 +0000 |
commit | fce1e8b993841752346b51e889aed66a39cfc7a3 (patch) | |
tree | 8c884e1536d8c66164b70c12973401e02b5c3fc9 /src/lib/corelib/buildgraph/inputartifactscanner.cpp | |
parent | 17362f3ca028a44c020314acabec1fe4206c0266 (diff) |
Set script engine's active flag while executing custom scanners
This reverts commit 6a8a7f4fb25ff7259ed66de70b9b4f956dfe0e14 and fixes
QBS-782 in a simpler way, without instantiating another ScriptEngine.
Having two script engines in the executor thread is wasteful and even
potentially dangerous.
Also, the removal of the setProcessEventsInterval(-1) call allows us to
cancel long running user dependency scanners.
Task-number: QBS-782
Change-Id: If680c66c901c809718013860be3d81241e0f782b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/inputartifactscanner.cpp')
-rw-r--r-- | src/lib/corelib/buildgraph/inputartifactscanner.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.cpp b/src/lib/corelib/buildgraph/inputartifactscanner.cpp index 177eba970..734f58bce 100644 --- a/src/lib/corelib/buildgraph/inputartifactscanner.cpp +++ b/src/lib/corelib/buildgraph/inputartifactscanner.cpp @@ -181,6 +181,7 @@ Set<DependencyScanner *> InputArtifactScanner::scannersForArtifact(const Artifac { Set<DependencyScanner *> scanners; ResolvedProduct *product = artifact->product.data(); + ScriptEngine *engine = product->topLevelProject()->buildData->evaluationContext->engine(); QHash<FileTag, InputArtifactScannerContext::DependencyScannerCacheItem> &scannerCache = m_context->scannersCache[product]; foreach (const FileTag &fileTag, artifact->fileTags()) { @@ -194,7 +195,7 @@ Set<DependencyScanner *> InputArtifactScanner::scannersForArtifact(const Artifac foreach (const ResolvedScannerConstPtr &scanner, product->scanners) { if (scanner->inputs.contains(fileTag)) { cache.scanners += DependencyScannerPtr( - new UserDependencyScanner(scanner, m_logger)); + new UserDependencyScanner(scanner, m_logger, engine)); break; } } |