summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/installercalculator.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libs/installer/installercalculator.cpp b/src/libs/installer/installercalculator.cpp
index 2ef5d3b74..7528d7bd1 100644
--- a/src/libs/installer/installercalculator.cpp
+++ b/src/libs/installer/installercalculator.cpp
@@ -239,9 +239,12 @@ bool InstallerCalculator::appendComponentToInstall(Component *component, const Q
else
m_referenceCount.insert(dependencyComponentName, value);
}
- insertInstallReason(dependencyComponent, InstallerCalculator::Dependent, component->name(), true);
- if (!appendComponentToInstall(dependencyComponent, requiredDependencyVersion, revertFromInstall))
- return false;
+ if (!m_referenceCount.contains(dependencyComponentName)) {
+ insertInstallReason(dependencyComponent, InstallerCalculator::Dependent,
+ component->name(), true);
+ if (!appendComponentToInstall(dependencyComponent, requiredDependencyVersion, revertFromInstall))
+ return false;
+ }
m_visitedComponents.remove(component);
}