From 3cf297073c3accaa1511886a55916dbee4ed2c30 Mon Sep 17 00:00:00 2001 From: GrisWoldDiablo Date: Sat, 23 Jul 2022 15:40:00 -0400 Subject: [PATCH 1/3] ScriptEngine unloading domain during shutdown. In order to properly unload a MonoDomain, a different one has to be set. Since we are doing a clean up then we have to set it to the root domain. --- Hazel/src/Hazel/Scripting/ScriptEngine.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Hazel/src/Hazel/Scripting/ScriptEngine.cpp b/Hazel/src/Hazel/Scripting/ScriptEngine.cpp index fcbbc9588..65de93bab 100644 --- a/Hazel/src/Hazel/Scripting/ScriptEngine.cpp +++ b/Hazel/src/Hazel/Scripting/ScriptEngine.cpp @@ -162,12 +162,12 @@ namespace Hazel { void ScriptEngine::ShutdownMono() { - // NOTE(Yan): mono is a little confusing to shutdown, so maybe come back to this - - // mono_domain_unload(s_Data->AppDomain); + mono_domain_set(mono_get_root_domain(), false); + + mono_domain_unload(s_Data->AppDomain); s_Data->AppDomain = nullptr; - // mono_jit_cleanup(s_Data->RootDomain); + mono_jit_cleanup(s_Data->RootDomain); s_Data->RootDomain = nullptr; } From 82bcc41177ac3670efa440e9b4729ba3eefde0fd Mon Sep 17 00:00:00 2001 From: GrisWoldDiablo Date: Sat, 23 Jul 2022 15:44:35 -0400 Subject: [PATCH 2/3] Fixed formatting --- Hazel/src/Hazel/Scripting/ScriptEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Hazel/src/Hazel/Scripting/ScriptEngine.cpp b/Hazel/src/Hazel/Scripting/ScriptEngine.cpp index 65de93bab..f577374bf 100644 --- a/Hazel/src/Hazel/Scripting/ScriptEngine.cpp +++ b/Hazel/src/Hazel/Scripting/ScriptEngine.cpp @@ -163,7 +163,7 @@ namespace Hazel { void ScriptEngine::ShutdownMono() { mono_domain_set(mono_get_root_domain(), false); - + mono_domain_unload(s_Data->AppDomain); s_Data->AppDomain = nullptr; From 8d41750108934da0a36de385232cbe8531baec96 Mon Sep 17 00:00:00 2001 From: GrisWoldDiablo Date: Sun, 31 Jul 2022 17:32:45 -0400 Subject: [PATCH 3/3] Use already store RootDomain pointer --- Hazel/src/Hazel/Scripting/ScriptEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Hazel/src/Hazel/Scripting/ScriptEngine.cpp b/Hazel/src/Hazel/Scripting/ScriptEngine.cpp index f577374bf..2e1d5535e 100644 --- a/Hazel/src/Hazel/Scripting/ScriptEngine.cpp +++ b/Hazel/src/Hazel/Scripting/ScriptEngine.cpp @@ -162,7 +162,7 @@ namespace Hazel { void ScriptEngine::ShutdownMono() { - mono_domain_set(mono_get_root_domain(), false); + mono_domain_set(s_Data->RootDomain, false); mono_domain_unload(s_Data->AppDomain); s_Data->AppDomain = nullptr;