diff options
author | Yuri Rubinsky <chaosus89@gmail.com> | 2022-07-27 08:06:34 +0300 |
---|---|---|
committer | Yuri Rubinsky <chaosus89@gmail.com> | 2022-07-27 08:06:34 +0300 |
commit | 2f4339818280e545e4c4811be71534d4147299aa (patch) | |
tree | 4ccdb0c1c4bd26754c17e5ce2e8cef90a946c990 /scene/resources/visual_shader.cpp | |
parent | ad9a8e70f499267251daaa4cb51f3c2545d4ad4e (diff) | |
download | redot-engine-2f4339818280e545e4c4811be71534d4147299aa.tar.gz |
Add a check to prevent duplicating connections in visual shader
Diffstat (limited to 'scene/resources/visual_shader.cpp')
-rw-r--r-- | scene/resources/visual_shader.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp index b68cce9dda..3cf643221b 100644 --- a/scene/resources/visual_shader.cpp +++ b/scene/resources/visual_shader.cpp @@ -967,6 +967,12 @@ void VisualShader::connect_nodes_forced(Type p_type, int p_from_node, int p_from ERR_FAIL_COND(!g->nodes.has(p_to_node)); ERR_FAIL_INDEX(p_to_port, g->nodes[p_to_node].node->get_input_port_count()); + for (const Connection &E : g->connections) { + if (E.from_node == p_from_node && E.from_port == p_from_port && E.to_node == p_to_node && E.to_port == p_to_port) { + return; + } + } + Connection c; c.from_node = p_from_node; c.from_port = p_from_port; |