KitModel: Fix crash on removing kits introduced in 7fd21d22a

Removing a kit removes the item from the TreeModel and puts it into
KitModel::m_toRemoveList. A later update to that kit would trigger
the lambda connected to the dirty signal, thus calling node->update(),
which eventually ends up calling node->parent()->m_children, and
node->parent() is a null pointer there.

Change-Id: I9006f1eea036ae99b48a47baa2bc2a33bdcb84b1
Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
Daniel Teske
2015-01-19 17:18:28 +01:00
committed by hjk
parent ef7f34de78
commit c103885635

View File

@@ -259,8 +259,10 @@ KitNode *KitModel::createNode(Kit *k)
{
KitNode *node = new KitNode(k);
m_parentLayout->addWidget(node->widget);
connect(node->widget, &KitManagerConfigWidget::dirty, [node] {
node->update();
connect(node->widget, &KitManagerConfigWidget::dirty, [this, node] {
if (m_autoRoot->children().contains(node)
|| m_manualRoot->children().contains(node))
node->update();
});
return node;
}