forked from qt-creator/qt-creator
QmlDesigner: Fix adding the first material to the material library
Fixed that material editor node was not being created when no materials exist. Fixes: QDS-7069 Change-Id: I358c497325e8865fc5f012531783dcbe46c32490 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
@@ -87,10 +87,6 @@ void MaterialEditorView::ensureMaterialLibraryNode()
|
|||||||
if (m_materialLibrary.isValid())
|
if (m_materialLibrary.isValid())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const QList<ModelNode> materials = rootModelNode().subModelNodesOfType("QtQuick3D.Material");
|
|
||||||
if (materials.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
// create material library node
|
// create material library node
|
||||||
TypeName nodeType = rootModelNode().isSubclassOf("QtQuick3D.Node") ? "QtQuick3D.Node" : "QtQuick.Item";
|
TypeName nodeType = rootModelNode().isSubclassOf("QtQuick3D.Node") ? "QtQuick3D.Node" : "QtQuick.Item";
|
||||||
NodeMetaInfo metaInfo = model()->metaInfo(nodeType);
|
NodeMetaInfo metaInfo = model()->metaInfo(nodeType);
|
||||||
@@ -99,6 +95,10 @@ void MaterialEditorView::ensureMaterialLibraryNode()
|
|||||||
m_materialLibrary.setIdWithoutRefactoring(Constants::MATERIAL_LIB_ID);
|
m_materialLibrary.setIdWithoutRefactoring(Constants::MATERIAL_LIB_ID);
|
||||||
rootModelNode().defaultNodeListProperty().reparentHere(m_materialLibrary);
|
rootModelNode().defaultNodeListProperty().reparentHere(m_materialLibrary);
|
||||||
|
|
||||||
|
const QList<ModelNode> materials = rootModelNode().subModelNodesOfType("QtQuick3D.Material");
|
||||||
|
if (materials.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
RewriterTransaction transaction = beginRewriterTransaction(
|
RewriterTransaction transaction = beginRewriterTransaction(
|
||||||
"MaterialEditorView::ensureMaterialLibraryNode");
|
"MaterialEditorView::ensureMaterialLibraryNode");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user