aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/inputartifactscanner.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2017-01-09 17:35:19 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2017-01-10 10:52:18 +0000
commitfce1e8b993841752346b51e889aed66a39cfc7a3 (patch)
tree8c884e1536d8c66164b70c12973401e02b5c3fc9 /src/lib/corelib/buildgraph/inputartifactscanner.cpp
parent17362f3ca028a44c020314acabec1fe4206c0266 (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.cpp3
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;
}
}