### Godot version

4.0.dev(0810ecaafdbee3ea747219e6ab3a8de5d2216a09)

### System information

any

### Issue description

https://user-images.githubusercontent.com/61938263/215898051-8506b45e-a9d4-4c3f-b1b3-28f202dea67b.mp4



### Steps to reproduce

Editt AnimationBlendTree

### Minimal reproduction project

N/A
Control::remove_child_notify(p_child);
	if (p_child == top_layer) {
		top_layer = nullptr;
		minimap = nullptr;
	} else if (p_child == connections_layer) {
		connections_layer = nullptr;
	}
	if (top_layer != nullptr && is_inside_tree()) {
		top_layer->call_deferred(SNAME("raise")); 
	}
	GraphNode *gn = Object::cast_to<GraphNode>(p_child);
	if (gn) {
		gn->disconnect("position_offset_changed", callable_mp(this, &GraphEdit::_graph_node_moved));
		gn->disconnect("node_selected", callable_mp(this, &GraphEdit::_graph_node_selected));
		gn->disconnect("node_deselected", callable_mp(this, &GraphEdit::_graph_node_deselected));
		gn->disconnect("slot_updated", callable_mp(this, &GraphEdit::_graph_node_slot_updated));
		gn->disconnect("raise_request", callable_mp(this, &GraphEdit::_graph_node_raised));
		
		if (connections_layer != nullptr && connections_layer->is_inside_tree()) {
			gn->disconnect("item_rect_changed", callable_mp((CanvasItem *)connections_layer, &CanvasItem::queue_redraw));
		}
		if (minimap != nullptr && minimap->is_inside_tree()) {
			gn->disconnect("item_rect_changed", callable_mp((CanvasItem *)minimap, &GraphEditMinimap::queue_redraw));
		}
	}
}
void GraphEdit::_notification(int p_what) {