Browse Source

Fix GDScript thread-exit routine assuming thread-enter was called

Pedro J. Estébanez 1 year ago
parent
commit
cfa7e72057
1 changed files with 6 additions and 0 deletions
  1. 6 0
      modules/gdscript/gdscript.cpp

+ 6 - 0
modules/gdscript/gdscript.cpp

@@ -2106,6 +2106,12 @@ void GDScriptLanguage::thread_enter() {
 }
 
 void GDScriptLanguage::thread_exit() {
+	// This thread may have been created before GDScript was up
+	// (which also means it can't have run any GDScript code at all).
+	if (!GDScript::func_ptrs_to_update_thread_local) {
+		return;
+	}
+
 	GDScript::_fixup_thread_function_bookkeeping();
 
 	bool destroy = false;