From 44aea533f86f10f28ba9704713442cc1d0f15d20 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 23 Jun 2022 12:41:19 +0200 Subject: [PATCH] ProjectExplorer: Prevent spurious soft asserts in target panel When a kit is being removed, various signals are being emitted in unspecified order, so there is a transient state where the target model has to expect the kit not being present. Fixes: QTCREATORBUG-27742 Change-Id: I2df5db780a7fcf614397e525451f3f8bcbae8b84 Reviewed-by: Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/targetsettingspanel.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index 95dacf0a623..53514032a39 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -289,7 +289,8 @@ public: case Qt::DecorationRole: { const Kit *k = KitManager::kit(m_kitId); - QTC_ASSERT(k, return QVariant()); + if (!k) + break; if (m_kitErrorsForProject) return kitIconWithOverlay(*k, IconOverlay::Error); if (!isEnabled()) @@ -317,7 +318,8 @@ public: case Qt::ToolTipRole: { Kit *k = KitManager::kit(m_kitId); - QTC_ASSERT(k, return QVariant()); + if (!k) + break; const QString extraText = [this]() { if (m_kitErrorsForProject) return QString("

" + tr("Kit is unsuited for project") + "

");