Skip to content

Commit acb9a4e

Browse files
committed
Merge pull request #93385 from Chaosus/vs_fix_updating
Fix visual shader not being updated when switching tabs
2 parents f7d1e39 + 3bbbedc commit acb9a4e

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

editor/plugins/shader_editor_plugin.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,11 @@ void ShaderEditorPlugin::_shader_selected(int p_index) {
365365
if (edited_shaders[p_index].shader_editor) {
366366
edited_shaders[p_index].shader_editor->validate_script();
367367
}
368+
369+
if (edited_shaders[p_index].visual_shader_editor) {
370+
edited_shaders[p_index].visual_shader_editor->validate_script();
371+
}
372+
368373
shader_tabs->set_current_tab(p_index);
369374
shader_list->select(p_index);
370375
}

editor/plugins/visual_shader_editor_plugin.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1545,6 +1545,12 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) {
15451545
}
15461546
}
15471547

1548+
void VisualShaderEditor::validate_script() {
1549+
if (visual_shader.is_valid()) {
1550+
_update_nodes();
1551+
}
1552+
}
1553+
15481554
void VisualShaderEditor::add_plugin(const Ref<VisualShaderNodePlugin> &p_plugin) {
15491555
if (plugins.has(p_plugin)) {
15501556
return;

editor/plugins/visual_shader_editor_plugin.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,8 @@ class VisualShaderEditor : public VBoxContainer {
612612
void edit(VisualShader *p_visual_shader);
613613
Ref<VisualShader> get_visual_shader() const { return visual_shader; }
614614

615+
void validate_script();
616+
615617
VisualShaderEditor();
616618
};
617619

0 commit comments

Comments
 (0)