diff options
-rw-r--r-- | src/libs/installer/installercalculator.cpp | 9 |
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); } |