Merge pull request #93385 from Chaosus/vs_fix_updating

Fix visual shader not being updated when switching tabs
This commit is contained in:
Rémi Verschelde 2024-06-20 16:18:59 +02:00
commit acb9a4e6ad
No known key found for this signature in database
GPG key ID: C3336907360768E1
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) {
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_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) {
if (plugins.has(p_plugin)) {
return;

View file

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