Browse Source

Fix external editor hot reload

Omar Shehata 1 year ago
parent
commit
c25a2d832b

+ 2 - 2
editor/plugins/script_editor_plugin.cpp

@@ -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;

+ 2 - 1
editor/plugins/script_editor_plugin.h

@@ -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; }

+ 1 - 1
editor/plugins/script_text_editor.cpp

@@ -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();
 		}
 		}
 	}
 	}
 }
 }

+ 2 - 0
modules/gdscript/language_server/gdscript_text_document.cpp

@@ -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();
 	}
 	}
 }
 }