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");