aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp')
-rw-r--r--src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp14
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);
}