Browse Source

Sync pending VisualServer commands after ScriptServer finalization

This is needed as C# may free resources from the finalizer thread during
CSharpLanguage::finish(). Previously this would result in RIDs not being freed.
Ignacio Etcheverry 5 years ago
parent
commit
d5122ab31c
1 changed files with 3 additions and 0 deletions
  1. 3 0
      main/main.cpp

+ 3 - 0
main/main.cpp

@@ -2169,6 +2169,9 @@ void Main::cleanup() {
 
 	ScriptServer::finish_languages();
 
+	// Sync pending commands that may have been queued from a different thread during ScriptServer finalization
+	VisualServer::get_singleton()->sync();
+
 #ifdef TOOLS_ENABLED
 	EditorNode::unregister_editor_types();
 #endif