Unstable component is installed if it is
- fetched from category
- selected by default
- contains missing dependency
Problem is in this code:
storeCheckState();
foreach (QInstaller::Component *component, components)
component->setCheckState(Qt::Checked);
clearInstallerCalculator();
if (installerCalculator()->appendComponentsToInstall(components.values()) == false) {
MessageBoxHandler::critical(MessageBoxHandler::currentBestSuitParent(), QLatin1String("Error"),
tr("Unresolved dependencies"), installerCalculator()->componentsToInstallError());
return false;
}
restoreCheckState();
The unstable component is marked as unstable and thus unselected in appendComponentsToInstall(). However, as the check state is stored (storeCheckState()
and restored (restoreCheckState()
the component gets reselected.