Merge pull request #88048 from raulsntos/dotnet/fix-88022

C#: Fix crash when reloading scripts
This commit is contained in:
Rémi Verschelde 2024-02-07 11:06:46 +01:00
commit f5b238f111
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -727,21 +727,16 @@ void CSharpLanguage::reload_all_scripts() {
}
void CSharpLanguage::reload_scripts(const Array &p_scripts, bool p_soft_reload) {
#ifdef GD_MONO_HOT_RELOAD
if (is_assembly_reloading_needed()) {
reload_assemblies(p_soft_reload);
}
#endif
}
void CSharpLanguage::reload_tool_script(const Ref<Script> &p_script, bool p_soft_reload) {
CRASH_COND(!Engine::get_singleton()->is_editor_hint());
bool has_csharp_script = false;
for (int i = 0; i < p_scripts.size(); ++i) {
Ref<CSharpScript> cs_script = p_scripts[i];
if (cs_script.is_valid()) {
has_csharp_script = true;
break;
}
}
if (!has_csharp_script) {
return;
}
#ifdef TOOLS_ENABLED
get_godotsharp_editor()->get_node(NodePath("HotReloadAssemblyWatcher"))->call("RestartTimer");
#endif
@ -753,12 +748,6 @@ void CSharpLanguage::reload_scripts(const Array &p_scripts, bool p_soft_reload)
#endif
}
void CSharpLanguage::reload_tool_script(const Ref<Script> &p_script, bool p_soft_reload) {
Array scripts;
scripts.push_back(p_script);
reload_scripts(scripts, p_soft_reload);
}
#ifdef GD_MONO_HOT_RELOAD
bool CSharpLanguage::is_assembly_reloading_needed() {
ERR_FAIL_NULL_V(gdmono, false);