Fix external editor hot reload

This commit is contained in:
Omar Shehata 2023-10-07 22:14:54 -04:00
parent fba341ce44
commit c25a2d832b
4 changed files with 7 additions and 4 deletions

View file

@ -987,7 +987,7 @@ void ScriptEditor::_res_saved_callback(const Ref<Resource> &p_res) {
} }
_update_script_names(); _update_script_names();
_trigger_live_script_reload(); trigger_live_script_reload();
} }
void ScriptEditor::_scene_saved_callback(const String &p_path) { void ScriptEditor::_scene_saved_callback(const String &p_path) {
@ -1015,7 +1015,7 @@ void ScriptEditor::_scene_saved_callback(const String &p_path) {
} }
} }
void ScriptEditor::_trigger_live_script_reload() { void ScriptEditor::trigger_live_script_reload() {
if (!pending_auto_reload && auto_reload_running_scripts) { if (!pending_auto_reload && auto_reload_running_scripts) {
call_deferred(SNAME("_live_auto_reload_running_scripts")); call_deferred(SNAME("_live_auto_reload_running_scripts"));
pending_auto_reload = true; pending_auto_reload = true;

View file

@ -378,7 +378,6 @@ class ScriptEditor : public PanelContainer {
bool pending_auto_reload; bool pending_auto_reload;
bool auto_reload_running_scripts; bool auto_reload_running_scripts;
void _trigger_live_script_reload();
void _live_auto_reload_running_scripts(); void _live_auto_reload_running_scripts();
void _update_selected_editor_menu(); void _update_selected_editor_menu();
@ -538,6 +537,8 @@ public:
void clear_docs_from_script(const Ref<Script> &p_script); void clear_docs_from_script(const Ref<Script> &p_script);
void update_docs_from_script(const Ref<Script> &p_script); void update_docs_from_script(const Ref<Script> &p_script);
void trigger_live_script_reload();
bool can_take_away_focus() const; bool can_take_away_focus() const;
VSplitContainer *get_left_list_split() { return list_split; } VSplitContainer *get_left_list_split() { return list_split; }

View file

@ -809,7 +809,7 @@ void ScriptEditor::_update_modified_scripts_for_external_editor(Ref<Script> p_fo
scr->set_last_modified_time(rel_scr->get_last_modified_time()); scr->set_last_modified_time(rel_scr->get_last_modified_time());
scr->update_exports(); scr->update_exports();
_trigger_live_script_reload(); trigger_live_script_reload();
} }
} }
} }

View file

@ -110,9 +110,11 @@ void GDScriptTextDocument::didSave(const Variant &p_param) {
} else { } else {
scr->reload(true); scr->reload(true);
} }
scr->update_exports(); scr->update_exports();
ScriptEditor::get_singleton()->reload_scripts(true); ScriptEditor::get_singleton()->reload_scripts(true);
ScriptEditor::get_singleton()->update_docs_from_script(scr); ScriptEditor::get_singleton()->update_docs_from_script(scr);
ScriptEditor::get_singleton()->trigger_live_script_reload();
} }
} }