forked from qt-creator/qt-creator
QmlDesigner: Delete material properly via material browser
Deleting is now made the same way as deleting a selected node, so dangling references to the deleted material are removed. Fixes: QDS-7716 Change-Id: I552c328eb928bfc20e3e33caa0e817f6d22162cc Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -288,8 +288,7 @@ void MaterialBrowserModel::removeMaterial(const ModelNode &material)
|
||||
|
||||
void MaterialBrowserModel::deleteSelectedMaterial()
|
||||
{
|
||||
if (isValidIndex(m_selectedIndex))
|
||||
m_materialList[m_selectedIndex].destroy();
|
||||
deleteMaterial(m_selectedIndex);
|
||||
}
|
||||
|
||||
void MaterialBrowserModel::updateSelectedMaterial()
|
||||
@@ -387,7 +386,11 @@ void MaterialBrowserModel::pasteMaterialProperties(int idx)
|
||||
|
||||
void MaterialBrowserModel::deleteMaterial(int idx)
|
||||
{
|
||||
m_materialList[idx].destroy();
|
||||
if (isValidIndex(idx)) {
|
||||
ModelNode node = m_materialList[idx];
|
||||
if (node.isValid())
|
||||
QmlObjectNode(node).destroy();
|
||||
}
|
||||
}
|
||||
|
||||
void MaterialBrowserModel::renameMaterial(int idx, const QString &newName)
|
||||
|
Reference in New Issue
Block a user