C#: Fix crash when reloading scripts
The crash cond was accidentally moved to the `reload_scripts` method when it was only meant to be in the `reload_tool_script` method. Same about restarting the HotReloadAssemblyWatcher timer. Also removed the loop that checks if the script array contains a C# script because if we're in CSharpLanguage we can assume that at least one of them is.
This commit is contained in:
parent
d3352813ea
commit
8ce4a0cf15
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue