aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2016-12-20 16:13:19 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2016-12-20 16:02:42 +0000
commite2e754ddd7e7d50b99aa99369c1f2b8611d43a55 (patch)
tree206a9bd1ec19ef1f8c54e64e8fbfa11619e28bba
parentbe2ce59cbb380e279771f88cd3c0d22c98a9b9cc (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.cpp12
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