diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/installer/component.cpp | 9 |
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) |