diff options
author | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2023-11-27 13:01:37 +0100 |
---|---|---|
committer | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2023-11-27 13:01:37 +0100 |
commit | cfa7e72057c7728e01fbf3f492b28174c06f9e85 (patch) | |
tree | c51ec1a10a293d11e47470d9764c6064525acd57 | |
parent | 5df98679672c12d96b4ac4d96ee17f1559207401 (diff) | |
download | redot-engine-cfa7e72057c7728e01fbf3f492b28174c06f9e85.tar.gz |
Fix GDScript thread-exit routine assuming thread-enter was called
-rw-r--r-- | modules/gdscript/gdscript.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp index 05c2558417..87f21bf568 100644 --- a/modules/gdscript/gdscript.cpp +++ b/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; |