diff options
Diffstat (limited to 'src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index e84f9224d6..1a703463cc 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -988,6 +988,18 @@ QList<ModelNode> filterNodesForSkipItems(const QList<ModelNode> &nodeList) return filteredNodeList; } +bool parentIsBehavior(ModelNode node) +{ + while (node.isValid() && !node.isRootNode()) { + if (!node.behaviorPropertyName().isEmpty()) + return true; + + node = node.parentProperty().parentModelNode(); + } + + return false; +} + CreateSceneCommand NodeInstanceView::createCreateSceneCommand() { QList<ModelNode> nodeList = allModelNodes(); @@ -1051,7 +1063,7 @@ CreateSceneCommand NodeInstanceView::createCreateSceneCommand() nodeMetaType, nodeFlags); - if (instance.modelNode().behaviorPropertyName().isEmpty()) + if (!parentIsBehavior(instance.modelNode())) instanceContainerList.append(container); } |