diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-08-10 13:26:53 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-08-10 11:30:53 +0000 |
commit | d8c000b6c01787205bd11a475a7b9b0e168451b0 (patch) | |
tree | 66e7b219bf0bbda9809d04fa1fdf94d4527fb821 | |
parent | 349baf79883a96fdd85325a2900997fbf574f9a8 (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>
-rw-r--r-- | src/lib/corelib/buildgraph/executor.cpp | 4 | ||||
-rw-r--r-- | src/lib/corelib/buildgraph/inputartifactscanner.cpp | 4 |
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; } } |