1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-12 13:20:55 +00:00

Fix visual shader not being updated when switching tabs

This commit is contained in:
Yuri Rubinsky
2024-06-20 13:37:16 +03:00
parent b75f0485ba
commit 3bbbedc144
3 changed files with 13 additions and 0 deletions

View File

@@ -365,6 +365,11 @@ void ShaderEditorPlugin::_shader_selected(int p_index) {
if (edited_shaders[p_index].shader_editor) { if (edited_shaders[p_index].shader_editor) {
edited_shaders[p_index].shader_editor->validate_script(); edited_shaders[p_index].shader_editor->validate_script();
} }
if (edited_shaders[p_index].visual_shader_editor) {
edited_shaders[p_index].visual_shader_editor->validate_script();
}
shader_tabs->set_current_tab(p_index); shader_tabs->set_current_tab(p_index);
shader_list->select(p_index); shader_list->select(p_index);
} }

View File

@@ -1545,6 +1545,12 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) {
} }
} }
void VisualShaderEditor::validate_script() {
if (visual_shader.is_valid()) {
_update_nodes();
}
}
void VisualShaderEditor::add_plugin(const Ref<VisualShaderNodePlugin> &p_plugin) { void VisualShaderEditor::add_plugin(const Ref<VisualShaderNodePlugin> &p_plugin) {
if (plugins.has(p_plugin)) { if (plugins.has(p_plugin)) {
return; return;

View File

@@ -612,6 +612,8 @@ public:
void edit(VisualShader *p_visual_shader); void edit(VisualShader *p_visual_shader);
Ref<VisualShader> get_visual_shader() const { return visual_shader; } Ref<VisualShader> get_visual_shader() const { return visual_shader; }
void validate_script();
VisualShaderEditor(); VisualShaderEditor();
}; };