diff options
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/installer/uninstallercalculator.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libs/installer/uninstallercalculator.cpp b/src/libs/installer/uninstallercalculator.cpp index af03df8c5..3de9f5b60 100644 --- a/src/libs/installer/uninstallercalculator.cpp +++ b/src/libs/installer/uninstallercalculator.cpp @@ -192,7 +192,10 @@ void UninstallerCalculator::appendVirtualComponentsToUninstall(const bool revers } } else { for (const QString &componentName : qAsConst(m_localVirtualComponents)) { - Component *virtualComponent = m_core->componentByName(componentName); + Component *virtualComponent = m_core->componentByName(componentName, m_core->components(PackageManagerCore::ComponentType::All)); + if (!virtualComponent) + continue; + if (virtualComponent->isInstalled() && !m_componentsToUninstall.contains(virtualComponent)) { // Components with auto dependencies were handled in the previous step if (!virtualComponent->autoDependencies().isEmpty() || virtualComponent->forcedInstallation()) |