Merge pull request #78157 from RedworkDE/net-shutting-down-abruptly

C#: Fix crash with `DisposablesTracker_OnGodotShuttingDown`
This commit is contained in:
Rémi Verschelde 2023-10-31 20:52:27 +01:00 committed by GitHub
commit 6afd320984
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 6 deletions

View File

@ -142,6 +142,10 @@ void CSharpLanguage::finalize() {
return; return;
} }
if (gdmono && gdmono->is_runtime_initialized() && GDMonoCache::godot_api_cache_updated) {
GDMonoCache::managed_callbacks.DisposablesTracker_OnGodotShuttingDown();
}
finalizing = true; finalizing = true;
// Make sure all script binding gchandles are released before finalizing GDMono // Make sure all script binding gchandles are released before finalizing GDMono

View File

@ -556,12 +556,6 @@ GDMono::GDMono() {
GDMono::~GDMono() { GDMono::~GDMono() {
finalizing_scripts_domain = true; finalizing_scripts_domain = true;
if (is_runtime_initialized()) {
if (GDMonoCache::godot_api_cache_updated) {
GDMonoCache::managed_callbacks.DisposablesTracker_OnGodotShuttingDown();
}
}
if (hostfxr_dll_handle) { if (hostfxr_dll_handle) {
OS::get_singleton()->close_dynamic_library(hostfxr_dll_handle); OS::get_singleton()->close_dynamic_library(hostfxr_dll_handle);
} }