summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/componentselectionpage_p.cpp4
-rw-r--r--src/libs/installer/packagemanagercore.cpp8
-rw-r--r--src/libs/installer/packagemanagercore.h1
3 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/installer/componentselectionpage_p.cpp b/src/libs/installer/componentselectionpage_p.cpp
index 88ea86b8a..84349e4ad 100644
--- a/src/libs/installer/componentselectionpage_p.cpp
+++ b/src/libs/installer/componentselectionpage_p.cpp
@@ -147,6 +147,10 @@ ComponentSelectionPagePrivate::ComponentSelectionPagePrivate(ComponentSelectionP
m_treeViewVLayout->addWidget(m_treeView, 3);
+ // force a recalculation of components to install to keep the state correct
+ connect(q, &ComponentSelectionPage::left,
+ m_core, &PackageManagerCore::clearComponentsToInstallCalculated);
+
m_mainHLayout = new QHBoxLayout(q);
m_mainHLayout->addLayout(m_treeViewVLayout, 3);
m_mainHLayout->addLayout(m_descriptionVLayout, 2);
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp
index f23afd76e..028a5b4b2 100644
--- a/src/libs/installer/packagemanagercore.cpp
+++ b/src/libs/installer/packagemanagercore.cpp
@@ -537,6 +537,14 @@ void PackageManagerCore::componentsToInstallNeedsRecalculation()
}
/*!
+ \sa {installer::clearComponentsToInstallCalculated}{installer.clearComponentsToInstallCalculated}
+ */
+void PackageManagerCore::clearComponentsToInstallCalculated()
+{
+ d->m_componentsToInstallCalculated = false;
+}
+
+/*!
\sa {installer::autoAcceptMessageBoxes}{installer.autoAcceptMessageBoxes}
\sa autoRejectMessageBoxes(), setMessageBoxAutomaticAnswer()
*/
diff --git a/src/libs/installer/packagemanagercore.h b/src/libs/installer/packagemanagercore.h
index 809994cfe..f4240fde0 100644
--- a/src/libs/installer/packagemanagercore.h
+++ b/src/libs/installer/packagemanagercore.h
@@ -293,6 +293,7 @@ public Q_SLOTS:
void setCompleteUninstallation(bool complete);
void cancelMetaInfoJob();
void componentsToInstallNeedsRecalculation();
+ void clearComponentsToInstallCalculated();
Q_SIGNALS:
void aboutCalculateComponentsToInstall() const;