summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2021-03-26 12:55:47 +0200
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2021-03-28 09:47:12 +0200
commit12b44ee5198165df1933576e0c6df14b6ed27010 (patch)
treeaf9d345c3fb410835c91402932834b25a7666128
parent6122f6e2e5efa17967a8004c368290afc2fa27f1 (diff)
Fix segfault when selecting non-existing component from script
Task-number: QTIFW-2195 Change-Id: Iaf75d4a4ff20f20a36c0b2d21abb3969b86b5a84 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index fbc3f473d..d1e482912 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -2279,6 +2279,11 @@ void PackageManagerCorePrivate::setComponentSelection(const QString &id, Qt::Che
{
ComponentModel *model = m_core->isUpdater() ? m_core->updaterComponentModel() : m_core->defaultComponentModel();
Component *component = m_core->componentByName(id);
+ if (!component) {
+ qCWarning(QInstaller::lcInstallerInstallLog).nospace()
+ << "Unable to set selection for: " << id << ". Component not found.";
+ return;
+ }
const QModelIndex &idx = model->indexFromComponentName(component->treeName());
if (idx.isValid())
model->setData(idx, state, Qt::CheckStateRole);