Browse Source

fixed some console errors with reconnecting signals that already are connected

Jonathan Higgins 2 months ago
parent
commit
99eff726df
1 changed files with 6 additions and 3 deletions
  1. 6 3
      scenes/main/scripts/graph_edit.gd

+ 6 - 3
scenes/main/scripts/graph_edit.gd

@@ -445,14 +445,17 @@ func delete_node(node_to_delete: GraphNode) -> void:
 func restore_node(node_to_restore: GraphNode) -> void:
 func restore_node(node_to_restore: GraphNode) -> void:
 	add_child(node_to_restore)
 	add_child(node_to_restore)
 	#relink everything
 	#relink everything
-	node_to_restore.connect("open_help", open_help)
-	node_to_restore.node_moved.connect(_auto_link_nodes)
+	if not node_to_restore.is_connected("open_help", open_help):
+		node_to_restore.connect("open_help", open_help)
+	if not node_to_restore.is_connected("node_moved", _auto_link_nodes):
+		node_to_restore.node_moved.connect(_auto_link_nodes)
 	if "undo_redo" in node_to_restore:
 	if "undo_redo" in node_to_restore:
 		node_to_restore.undo_redo = control_script.undo_redo
 		node_to_restore.undo_redo = control_script.undo_redo
 	for child in node_to_restore.get_children():
 	for child in node_to_restore.get_children():
 		if "undo_redo" in child:
 		if "undo_redo" in child:
 			child.undo_redo = control_script.undo_redo
 			child.undo_redo = control_script.undo_redo
-	node_to_restore.dragged.connect(node_position_changed.bind(node_to_restore))
+	if not node_to_restore.is_connected("dragged", node_position_changed):
+		node_to_restore.dragged.connect(node_position_changed.bind(node_to_restore))
 	set_node_selected(node_to_restore, true)
 	set_node_selected(node_to_restore, true)
 	_track_changes()
 	_track_changes()
 	_register_inputs_in_node(node_to_restore)
 	_register_inputs_in_node(node_to_restore)