summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorAndrii Doroshenko (Xrayez) <xrayez@gmail.com>2018-12-09 12:51:09 +0200
committerAndrii Doroshenko (Xrayez) <xrayez@gmail.com>2018-12-09 15:37:57 +0200
commit86eb6951c76550ee2a8e874019e15e27a4d20c42 (patch)
tree820cf3b64ede9e620a5ef4e2e717bae9b191f8eb /editor
parentc9550b800aed10451273143958dfff461105d45b (diff)
Fix duplicating visual shader nodes
Diffstat (limited to 'editor')
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index b084fe1915..f55adf6c7d 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -636,13 +636,15 @@ void VisualShaderEditor::_duplicate_nodes() {
for (int i = 0; i < graph->get_child_count(); i++) {
- if (Object::cast_to<GraphNode>(graph->get_child(i))) {
- int id = String(graph->get_child(i)->get_name()).to_int();
+ GraphNode *gn = Object::cast_to<GraphNode>(graph->get_child(i));
+ if (gn) {
+ int id = String(gn->get_name()).to_int();
Ref<VisualShaderNode> node = visual_shader->get_node(type, id);
Ref<VisualShaderNodeOutput> output = node;
- if (output.is_valid()) //can't duplicate output
+ if (output.is_valid()) { // can't duplicate output
continue;
- if (node.is_valid()) {
+ }
+ if (node.is_valid() && gn->is_selected()) {
nodes.push_back(id);
}
}