From 8d11ec26566071a3118e222ab8d15641357d3f7d Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Thu, 2 Jun 2022 19:07:23 +0300 Subject: [PATCH] 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: Reviewed-by: Miikka Heikkinen --- .../components/materialeditor/materialeditorview.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp b/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp index 4a9487d9239..8476f0910a7 100644 --- a/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp +++ b/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp @@ -87,10 +87,6 @@ void MaterialEditorView::ensureMaterialLibraryNode() if (m_materialLibrary.isValid()) return; - const QList materials = rootModelNode().subModelNodesOfType("QtQuick3D.Material"); - if (materials.isEmpty()) - return; - // create material library node TypeName nodeType = rootModelNode().isSubclassOf("QtQuick3D.Node") ? "QtQuick3D.Node" : "QtQuick.Item"; NodeMetaInfo metaInfo = model()->metaInfo(nodeType); @@ -99,6 +95,10 @@ void MaterialEditorView::ensureMaterialLibraryNode() m_materialLibrary.setIdWithoutRefactoring(Constants::MATERIAL_LIB_ID); rootModelNode().defaultNodeListProperty().reparentHere(m_materialLibrary); + const QList materials = rootModelNode().subModelNodesOfType("QtQuick3D.Material"); + if (materials.isEmpty()) + return; + RewriterTransaction transaction = beginRewriterTransaction( "MaterialEditorView::ensureMaterialLibraryNode");