From 5ff288a9b564624d88c99048f6f4904881c040fc Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 6 Dec 2016 14:33:42 +0100 Subject: Fix usage of restored Probes We have to set these up per actual product, not per product name. The latter is not taking profile multiplexing into account. Change-Id: I359c7316f106b756aaee74a5f4b7050fbc4e2bf3 Reviewed-by: Jake Petroules --- src/lib/corelib/buildgraph/buildgraphloader.cpp | 2 +- src/lib/corelib/language/moduleloader.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/corelib/buildgraph/buildgraphloader.cpp b/src/lib/corelib/buildgraph/buildgraphloader.cpp index 1cdaa90df..89eeca28a 100644 --- a/src/lib/corelib/buildgraph/buildgraphloader.cpp +++ b/src/lib/corelib/buildgraph/buildgraphloader.cpp @@ -258,7 +258,7 @@ void BuildGraphLoader::trackProjectChanges() ldr.setProgressObserver(m_evalContext->observer()); QHash> restoredProbes; foreach (const auto restoredProduct, allRestoredProducts) - restoredProbes.insert(restoredProduct->name, restoredProduct->probes); + restoredProbes.insert(restoredProduct->uniqueName(), restoredProduct->probes); ldr.setOldProbes(restoredProbes); m_result.newlyResolvedProject = ldr.loadProject(m_parameters); diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index ac6dc1d3e..babd727be 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -2165,7 +2165,9 @@ void ModuleLoader::resolveProbe(ProductContext *productContext, Item *parent, It foreach (const ProbeProperty &b, probeBindings) scope.setProperty(b.first, b.second); const bool condition = m_evaluator->boolValue(probe, QLatin1String("condition")); - ProbeConstPtr resolvedProbe = findOldProbe(productContext->name, condition, initialProperties, + const QString &uniqueProductName + = ResolvedProduct::uniqueName(productContext->name, productContext->profileName); + ProbeConstPtr resolvedProbe = findOldProbe(uniqueProductName, condition, initialProperties, configureScript->sourceCode().toString()); if (!resolvedProbe) resolvedProbe = findCurrentProbe(probe->location(), condition, initialProperties); -- cgit v1.2.3