Merge pull request #84969 from alesliehughes/shader_refactor
VisualShader: Refactor use of Connection
This commit is contained in:
commit
4450ae98b9
@ -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) {
|
const VisualShader::Connection &connection = E->get();
|
||||||
if (E->get().from_node == p_id) {
|
if (connection.from_node == p_id || connection.to_node == p_id) {
|
||||||
g->nodes[E->get().to_node].prev_connected_nodes.erase(p_id);
|
if (connection.from_node == p_id) {
|
||||||
g->nodes[E->get().to_node].node->set_input_port_connected(E->get().to_port, false);
|
g->nodes[connection.to_node].prev_connected_nodes.erase(p_id);
|
||||||
} else if (E->get().to_node == p_id) {
|
g->nodes[connection.to_node].node->set_input_port_connected(connection.to_port, false);
|
||||||
g->nodes[E->get().from_node].next_connected_nodes.erase(p_id);
|
} 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);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user