forked from qt-creator/qt-creator
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: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -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("<h3>" + tr("Kit is unsuited for project") + "</h3>");
|
||||
|
Reference in New Issue
Block a user