diff options
author | Chaosus <chaosus89@gmail.com> | 2019-05-03 11:10:08 +0300 |
---|---|---|
committer | Chaosus <chaosus89@gmail.com> | 2019-05-03 11:10:08 +0300 |
commit | 8a8b7af6380d538827ba89263b920c5357f604a5 (patch) | |
tree | 32b5a93a92f4c5199a6b72fb8b66d08db989f6d6 | |
parent | 0619d5d7b295c8d836800af02eb35de4f1927bc5 (diff) |
Fix collapse visual shader tree
-rw-r--r-- | editor/plugins/visual_shader_editor_plugin.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp index 2ed2ce4085..f3eb5d1483 100644 --- a/editor/plugins/visual_shader_editor_plugin.cpp +++ b/editor/plugins/visual_shader_editor_plugin.cpp @@ -58,9 +58,15 @@ void VisualShaderNodePlugin::_bind_methods() { void VisualShaderEditor::edit(VisualShader *p_visual_shader) { - bool first_init = false; + bool changed = false; if (p_visual_shader) { - first_init = true; + if (visual_shader.is_null()) { + changed = true; + } else { + if (visual_shader.ptr() != p_visual_shader) { + changed = true; + } + } visual_shader = Ref<VisualShader>(p_visual_shader); } else { visual_shader.unref(); @@ -69,7 +75,7 @@ void VisualShaderEditor::edit(VisualShader *p_visual_shader) { if (visual_shader.is_null()) { hide(); } else { - if (first_init) { // to avoid tree collapse + if (changed) { // to avoid tree collapse _update_options_menu(); } _update_graph(); |