Bläddra i källkod

Merge pull request #84628 from KoBeWi/no_meta_only_path

Don't store shader edit path in metadata
Rémi Verschelde 1 år sedan
förälder
incheckning
e5bacbc471
2 ändrade filer med 4 tillägg och 5 borttagningar
  1. 3 5
      editor/plugins/shader_editor_plugin.cpp
  2. 1 0
      editor/plugins/shader_editor_plugin.h

+ 3 - 5
editor/plugins/shader_editor_plugin.cpp

@@ -65,9 +65,7 @@ void ShaderEditorPlugin::_update_shader_list() {
 		}
 
 		// When shader is deleted in filesystem dock, need this to correctly close shader editor.
-		if (!path.is_empty()) {
-			shader->set_meta("_edit_res_path", path);
-		}
+		edited_shader.path = path;
 
 		bool unsaved = false;
 		if (edited_shader.shader_editor) {
@@ -578,9 +576,9 @@ void ShaderEditorPlugin::_window_changed(bool p_visible) {
 
 void ShaderEditorPlugin::_file_removed(const String &p_removed_file) {
 	for (uint32_t i = 0; i < edited_shaders.size(); i++) {
-		const Ref<Shader> &shader = edited_shaders[i].shader;
-		if (shader->get_meta("_edit_res_path") == p_removed_file) {
+		if (edited_shaders[i].path == p_removed_file) {
 			_close_shader(i);
+			break;
 		}
 	}
 }

+ 1 - 0
editor/plugins/shader_editor_plugin.h

@@ -50,6 +50,7 @@ class ShaderEditorPlugin : public EditorPlugin {
 		Ref<ShaderInclude> shader_inc;
 		TextShaderEditor *shader_editor = nullptr;
 		VisualShaderEditor *visual_shader_editor = nullptr;
+		String path;
 	};
 
 	LocalVector<EditedShader> edited_shaders;