summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2022-07-27 08:30:48 +0200
committerGitHub <noreply@github.com>2022-07-27 08:30:48 +0200
commit8a5c1dfd12c3e154d3de6b996b73542a47d275e2 (patch)
treeed091a46269e15d3c825a9d130c1ae913bdb92b6
parente8309d49e0f5015587e10b0c8f2446a41e054c9d (diff)
parent2f4339818280e545e4c4811be71534d4147299aa (diff)
Merge pull request #63521 from Chaosus/vs_fix_connections
Add a check to prevent duplicating connections in visual shader
-rw-r--r--scene/resources/visual_shader.cpp6
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;