aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-08-10 13:26:53 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-08-10 11:30:53 +0000
commitd8c000b6c01787205bd11a475a7b9b0e168451b0 (patch)
tree66e7b219bf0bbda9809d04fa1fdf94d4527fb821 /src/lib
parent349baf79883a96fdd85325a2900997fbf574f9a8 (diff)
Fix potential inconsistency in Artifact data
If safeConnect() returns false, we must not add that "child" to the list of children added by scanners. Change-Id: Icbb1b2d14d99f002e2370ee2bda25daafb0398b2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/corelib/buildgraph/executor.cpp4
-rw-r--r--src/lib/corelib/buildgraph/inputartifactscanner.cpp4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp
index e18e9f699..d2c245c8a 100644
--- a/src/lib/corelib/buildgraph/executor.cpp
+++ b/src/lib/corelib/buildgraph/executor.cpp
@@ -872,8 +872,8 @@ void Executor::rescueOldBuildData(Artifact *artifact, bool *childrenAdded = 0)
if (childrenAdded && !childrenToConnect.empty())
*childrenAdded = true;
for (Artifact * const child : childrenToConnect) {
- safeConnect(artifact, child);
- artifact->childrenAddedByScanner << child;
+ if (safeConnect(artifact, child))
+ artifact->childrenAddedByScanner << child;
}
qCDebug(lcBuildGraph) << "Data was rescued.";
} else {
diff --git a/src/lib/corelib/buildgraph/inputartifactscanner.cpp b/src/lib/corelib/buildgraph/inputartifactscanner.cpp
index d183b1879..e96f6fdde 100644
--- a/src/lib/corelib/buildgraph/inputartifactscanner.cpp
+++ b/src/lib/corelib/buildgraph/inputartifactscanner.cpp
@@ -344,8 +344,8 @@ void InputArtifactScanner::handleDependency(ResolvedDependency &dependency)
} else {
if (m_artifact->children.contains(artifactDependency))
return;
- safeConnect(m_artifact, artifactDependency);
- m_artifact->childrenAddedByScanner += artifactDependency;
+ if (safeConnect(m_artifact, artifactDependency))
+ m_artifact->childrenAddedByScanner += artifactDependency;
m_newDependencyAdded = true;
}
}