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: {
|
case Qt::DecorationRole: {
|
||||||
const Kit *k = KitManager::kit(m_kitId);
|
const Kit *k = KitManager::kit(m_kitId);
|
||||||
QTC_ASSERT(k, return QVariant());
|
if (!k)
|
||||||
|
break;
|
||||||
if (m_kitErrorsForProject)
|
if (m_kitErrorsForProject)
|
||||||
return kitIconWithOverlay(*k, IconOverlay::Error);
|
return kitIconWithOverlay(*k, IconOverlay::Error);
|
||||||
if (!isEnabled())
|
if (!isEnabled())
|
||||||
@@ -317,7 +318,8 @@ public:
|
|||||||
|
|
||||||
case Qt::ToolTipRole: {
|
case Qt::ToolTipRole: {
|
||||||
Kit *k = KitManager::kit(m_kitId);
|
Kit *k = KitManager::kit(m_kitId);
|
||||||
QTC_ASSERT(k, return QVariant());
|
if (!k)
|
||||||
|
break;
|
||||||
const QString extraText = [this]() {
|
const QString extraText = [this]() {
|
||||||
if (m_kitErrorsForProject)
|
if (m_kitErrorsForProject)
|
||||||
return QString("<h3>" + tr("Kit is unsuited for project") + "</h3>");
|
return QString("<h3>" + tr("Kit is unsuited for project") + "</h3>");
|
||||||
|
Reference in New Issue
Block a user