Browse Source

Visual shader refacter use of connection

Alistair Leslie-Hughes 1 year ago
parent
commit
bfd62d7cdf
1 changed files with 7 additions and 6 deletions
  1. 7 6
      scene/resources/visual_shader.cpp

+ 7 - 6
scene/resources/visual_shader.cpp

@@ -962,12 +962,13 @@ void VisualShader::remove_node(Type p_type, int p_id) {
 
 
 	for (List<Connection>::Element *E = g->connections.front(); E;) {
 	for (List<Connection>::Element *E = g->connections.front(); E;) {
 		List<Connection>::Element *N = E->next();
 		List<Connection>::Element *N = E->next();
-		if (E->get().from_node == p_id || E->get().to_node == p_id) {
-			if (E->get().from_node == p_id) {
-				g->nodes[E->get().to_node].prev_connected_nodes.erase(p_id);
-				g->nodes[E->get().to_node].node->set_input_port_connected(E->get().to_port, false);
-			} else if (E->get().to_node == p_id) {
-				g->nodes[E->get().from_node].next_connected_nodes.erase(p_id);
+		const VisualShader::Connection &connection = E->get();
+		if (connection.from_node == p_id || connection.to_node == p_id) {
+			if (connection.from_node == p_id) {
+				g->nodes[connection.to_node].prev_connected_nodes.erase(p_id);
+				g->nodes[connection.to_node].node->set_input_port_connected(connection.to_port, false);
+			} else if (connection.to_node == p_id) {
+				g->nodes[connection.from_node].next_connected_nodes.erase(p_id);
 			}
 			}
 			g->connections.erase(E);
 			g->connections.erase(E);
 		}
 		}