diff options
| author | Rémi Verschelde <rverschelde@gmail.com> | 2024-07-30 12:28:55 +0200 |
|---|---|---|
| committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-07-30 12:28:55 +0200 |
| commit | 5271a39279981843e57f744f8434600a1a8acf88 (patch) | |
| tree | e2561afbb24cff68a868a7ab625504f23037060b | |
| parent | db79f527364bacb0620f36dfb793776048887ba7 (diff) | |
| parent | 04705d2899322ff7a8b3c75cb0822d25c60a544c (diff) | |
| download | redot-engine-5271a39279981843e57f744f8434600a1a8acf88.tar.gz | |
Merge pull request #94810 from maidopi-usagi/graphedit_signal_fix
[GraphEdit] Correctly disconnect signal to `connection_layer`
| -rw-r--r-- | scene/gui/graph_edit.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index 55a2c607e3..9b762f7b3c 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -695,6 +695,10 @@ void GraphEdit::remove_child_notify(Node *p_child) { graph_element->disconnect("raise_request", callable_mp(this, &GraphEdit::_ensure_node_order_from)); graph_element->disconnect("resize_request", callable_mp(this, &GraphEdit::_graph_element_resize_request)); + if (connections_layer != nullptr && connections_layer->is_inside_tree()) { + graph_element->disconnect(SceneStringName(item_rect_changed), callable_mp((CanvasItem *)connections_layer, &CanvasItem::queue_redraw)); + } + // In case of the whole GraphEdit being destroyed these references can already be freed. if (minimap != nullptr && minimap->is_inside_tree()) { graph_element->disconnect(SceneStringName(item_rect_changed), callable_mp((CanvasItem *)minimap, &GraphEditMinimap::queue_redraw)); |
