summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-11-08 19:18:55 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-11-08 19:18:55 +0100
commite5bacbc4716ce5b54bc2ab8b3053cd5e22ffe446 (patch)
tree16728f25d6f4866282aceb2bf1dfb5f601dbd829
parent57a0ac27d5f9015b38c0e7b2f50432ce57c72785 (diff)
parent9c810ef061cd3a8c5fda6e6783ddad026abaf5b5 (diff)
downloadredot-engine-e5bacbc4716ce5b54bc2ab8b3053cd5e22ffe446.tar.gz
Merge pull request #84628 from KoBeWi/no_meta_only_path
Don't store shader edit path in metadata
-rw-r--r--editor/plugins/shader_editor_plugin.cpp8
-rw-r--r--editor/plugins/shader_editor_plugin.h1
2 files changed, 4 insertions, 5 deletions
diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp
index 1bc58c04d4..18f5c31caa 100644
--- a/editor/plugins/shader_editor_plugin.cpp
+++ b/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;
}
}
}
diff --git a/editor/plugins/shader_editor_plugin.h b/editor/plugins/shader_editor_plugin.h
index 8b48140262..039afd61fe 100644
--- a/editor/plugins/shader_editor_plugin.h
+++ b/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;