summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2019-01-11 07:21:39 +0200
committerKatja Marttila <katja.marttila@qt.io>2019-01-11 07:52:50 +0000
commitf265c9f43685d842ec5305b4d6b667e55bdb79ba (patch)
tree7d64f67e83f5f5aa8b9efaf4f2feed6180f90a42
parentafd61c9700ea24569ade2af9e7ec0a268b02b98a (diff)
Do not allow unstable component install
Unstable component was installed if component had unresolved dependency and was fetched from category. Fixed so that unstable component which is not already installed gets never selected in restoreCheckState(). Task-id: QTIFW-1265 Change-Id: I04176d095f6d79b2aabae73b490adc36706f597a Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index d28f11b43..b5916fbac 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -2354,8 +2354,13 @@ void PackageManagerCorePrivate::restoreCheckState()
if (m_coreCheckedHash.isEmpty())
return;
- foreach (Component *component, m_coreCheckedHash.keys())
+ foreach (Component *component, m_coreCheckedHash.keys()) {
component->setCheckState(m_coreCheckedHash.value(component));
+ // Never allow component to be checked when it is unstable
+ // and not installed
+ if (component->isUnstable() && !component->isInstalled())
+ component->setCheckState(Qt::Unchecked);
+ }
m_coreCheckedHash.clear();
m_componentsToInstallCalculated = false;