소스 검색

Merge pull request #53571 from kleonc/scene-tree-free-objects-queued-during-destruction

Rémi Verschelde 3 년 전
부모
커밋
034d43def7
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      scene/main/scene_tree.cpp

+ 5 - 1
scene/main/scene_tree.cpp

@@ -570,7 +570,11 @@ void SceneTree::finalize() {
 		root = nullptr;
 	}
 
-	// cleanup timers
+	// In case deletion of some objects was queued when destructing the `root`.
+	// E.g. if `queue_free()` was called for some node outside the tree when handling NOTIFICATION_PREDELETE for some node in the tree.
+	_flush_delete_queue();
+
+	// Cleanup timers.
 	for (Ref<SceneTreeTimer> &timer : timers) {
 		timer->release_connections();
 	}