summaryrefslogtreecommitdiffstats
path: root/src/libs/installer
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer')
-rw-r--r--src/libs/installer/component.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp
index 061c4e110..16b417b02 100644
--- a/src/libs/installer/component.cpp
+++ b/src/libs/installer/component.cpp
@@ -1295,12 +1295,15 @@ bool Component::isAutoDependOn(const QSet<QString> &componentsToInstall) const
// will be installed
if (packageManagerCore()->foundEssentialUpdate()) {
const QSet<QString> autoDependOnSet = autoDependOnList.toSet();
- if (autoDependOnSet.intersects(componentsToInstall)) {
- return true;
+ if (componentsToInstall.contains(autoDependOnSet)) {
+ foreach (const QString &autoDep, autoDependOnSet) {
+ Component *component = packageManagerCore()->componentByName(autoDep);
+ if (component->value(scEssential, scFalse).toLower() == scTrue)
+ return true;
+ }
}
return false;
}
-
QSet<QString> components = componentsToInstall;
const QStringList installedPackages = d->m_core->localInstalledPackages().keys();
foreach (const QString &name, installedPackages)