Kaynağa Gözat

Merge pull request #53732 from Paulb23/text-file-save

Fix TextFiles not saving when closing the tab
Rémi Verschelde 3 yıl önce
ebeveyn
işleme
322d2b2373
1 değiştirilmiş dosya ile 11 ekleme ve 7 silme
  1. 11 7
      editor/plugins/script_editor_plugin.cpp

+ 11 - 7
editor/plugins/script_editor_plugin.cpp

@@ -763,20 +763,24 @@ void ScriptEditor::_close_tab(int p_idx, bool p_save, bool p_history_back) {
 
 	ScriptEditorBase *current = Object::cast_to<ScriptEditorBase>(tselected);
 	if (current) {
-		Ref<Script> script = current->get_edited_resource();
-		if (p_save && script.is_valid()) {
+		RES file = current->get_edited_resource();
+		if (p_save && file.is_valid()) {
 			// Do not try to save internal scripts, but prompt to save in-memory
 			// scripts which are not saved to disk yet (have empty path).
-			if (script->get_path().find("local://") == -1 && script->get_path().find("::") == -1) {
+			if (file->get_path().find("local://") == -1 && file->get_path().find("::") == -1) {
 				save_current_script();
 			}
 		}
-		if (script.is_valid()) {
-			if (!script->get_path().is_empty()) {
+		if (file.is_valid()) {
+			if (!file->get_path().is_empty()) {
 				// Only saved scripts can be restored.
-				previous_scripts.push_back(script->get_path());
+				previous_scripts.push_back(file->get_path());
+			}
+
+			Ref<Script> script = file;
+			if (script.is_valid()) {
+				notify_script_close(script);
 			}
-			notify_script_close(script);
 		}
 	}