summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-07-30 12:28:55 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-07-30 12:28:55 +0200
commit5271a39279981843e57f744f8434600a1a8acf88 (patch)
treee2561afbb24cff68a868a7ab625504f23037060b
parentdb79f527364bacb0620f36dfb793776048887ba7 (diff)
parent04705d2899322ff7a8b3c75cb0822d25c60a544c (diff)
downloadredot-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.cpp4
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));