summaryrefslogtreecommitdiffstats
path: root/src
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 /src
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>
Diffstat (limited to 'src')
-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;