From dc713e149f5be41d2778a308a3da61b459a08289 Mon Sep 17 00:00:00 2001 From: Yuri Roubinsky Date: Fri, 2 Oct 2020 09:06:13 +0300 Subject: [PATCH] Fix VisualShaderNode::set_output_port_connected --- scene/resources/visual_shader.cpp | 10 +++------- scene/resources/visual_shader.h | 3 +-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/scene/resources/visual_shader.cpp b/scene/resources/visual_shader.cpp index b8d2003e68b..84437faca0d 100644 --- a/scene/resources/visual_shader.cpp +++ b/scene/resources/visual_shader.cpp @@ -65,20 +65,16 @@ bool VisualShaderNode::is_port_separator(int p_index) const { bool VisualShaderNode::is_output_port_connected(int p_port) const { if (connected_output_ports.has(p_port)) { - return connected_output_ports[p_port]; + return connected_output_ports[p_port] > 0; } return false; } void VisualShaderNode::set_output_port_connected(int p_port, bool p_connected) { if (p_connected) { - connected_output_ports[p_port] = true; - ++connected_output_count; + connected_output_ports[p_port]++; } else { - --connected_output_count; - if (connected_output_count == 0) { - connected_output_ports[p_port] = false; - } + connected_output_ports[p_port]--; } } diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h index e7d74b6c17f..e3d5200e6bf 100644 --- a/scene/resources/visual_shader.h +++ b/scene/resources/visual_shader.h @@ -193,8 +193,7 @@ class VisualShaderNode : public Resource { Map default_input_values; Map connected_input_ports; - Map connected_output_ports; - int connected_output_count = 0; + Map connected_output_ports; protected: bool simple_decl = true;