diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2016-12-20 16:13:19 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2016-12-20 16:02:42 +0000 |
commit | e2e754ddd7e7d50b99aa99369c1f2b8611d43a55 (patch) | |
tree | 206a9bd1ec19ef1f8c54e64e8fbfa11619e28bba | |
parent | be2ce59cbb380e279771f88cd3c0d22c98a9b9cc (diff) |
ModuleLoader: Do not cache Probes that throw errors
Doing so can hide errors, for instance when such a Probe is first run by
a non-required module instance.
Task-number: QBS-1074
Change-Id: Ibfbba029761b7d09d0a02eeaf5aa01f76c701574
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index babd727be..233fa7074 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -2188,18 +2188,18 @@ void ModuleLoader::resolveProbe(ProductContext *productContext, Item *parent, It if (!resolvedProbe) properties.insert(b.first, newValue); } - if (!resolvedProbe) { - resolvedProbe = Probe::create(probe->location(), condition, - configureScript->sourceCode().toString(), properties, initialProperties); - m_currentProbes[probe->location()] << resolvedProbe; - } - productContext->info.probes << resolvedProbe; m_engine->currentContext()->popScope(); m_engine->currentContext()->popScope(); m_engine->currentContext()->popScope(); m_engine->currentContext()->popScope(); if (evalError.hasError()) throw evalError; + if (!resolvedProbe) { + resolvedProbe = Probe::create(probe->location(), condition, + configureScript->sourceCode().toString(), properties, initialProperties); + m_currentProbes[probe->location()] << resolvedProbe; + } + productContext->info.probes << resolvedProbe; } void ModuleLoader::checkCancelation() const |