Merge pull request #97763 from Geometror/fix-gn-child-vis-conn-update
Fix `GraphEdit` connections not updating when a child of `GraphNode` goes invisible or changes size
This commit is contained in:
@ -689,6 +689,7 @@ void GraphEdit::add_child_notify(Node *p_child) {
|
||||
GraphNode *graph_node = Object::cast_to<GraphNode>(graph_element);
|
||||
if (graph_node) {
|
||||
graph_node->connect("slot_updated", callable_mp(this, &GraphEdit::_graph_node_slot_updated).bind(graph_element));
|
||||
graph_node->connect("slot_sizes_changed", callable_mp(this, &GraphEdit::_graph_node_rect_changed).bind(graph_node));
|
||||
graph_node->connect(SceneStringName(item_rect_changed), callable_mp(this, &GraphEdit::_graph_node_rect_changed).bind(graph_node));
|
||||
_ensure_node_order_from(graph_node);
|
||||
}
|
||||
@ -744,6 +745,7 @@ void GraphEdit::remove_child_notify(Node *p_child) {
|
||||
GraphNode *graph_node = Object::cast_to<GraphNode>(graph_element);
|
||||
if (graph_node) {
|
||||
graph_node->disconnect("slot_updated", callable_mp(this, &GraphEdit::_graph_node_slot_updated));
|
||||
graph_node->disconnect("slot_sizes_changed", callable_mp(this, &GraphEdit::_graph_node_rect_changed));
|
||||
graph_node->disconnect(SceneStringName(item_rect_changed), callable_mp(this, &GraphEdit::_graph_node_rect_changed));
|
||||
|
||||
// Invalidate all adjacent connections, so that they are removed before the next redraw.
|
||||
|
||||
Reference in New Issue
Block a user