summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Roubinsky <chaosus89@gmail.com>2020-10-01 18:33:23 +0300
committerGitHub <noreply@github.com>2020-10-01 18:33:23 +0300
commit17d588f7b3acf292daeae88dd3d95fa2f6240349 (patch)
tree29f2600e78dcd01ae553dccf0439c34223417d1d
parentf3e557780fd056ce60986a5351a72c1d387e1859 (diff)
parentfa35733b4cccc432cc1f290bcb27fe0e4b32238e (diff)
Merge pull request #42467 from Chaosus/vs_fix_bug
Updates size of float constant in visual shader if empty is selected
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp8
-rw-r--r--editor/plugins/visual_shader_editor_plugin.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index 35e8f560b0..1651de4048 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -226,6 +226,13 @@ void VisualShaderGraphPlugin::update_constant(VisualShader::Type p_type, int p_n
links[p_node_id].graph_node->set_size(Size2(-1, -1));
}
+void VisualShaderGraphPlugin::update_node_size(int p_node_id) {
+ if (!links.has(p_node_id)) {
+ return;
+ }
+ links[p_node_id].graph_node->set_size(Size2(-1, -1));
+}
+
void VisualShaderGraphPlugin::register_default_input_button(int p_node_id, int p_port_id, Button *p_button) {
links[p_node_id].input_ports.insert(p_port_id, { p_button });
}
@@ -2516,6 +2523,7 @@ void VisualShaderEditor::_uniform_select_item(Ref<VisualShaderNodeUniformRef> p_
void VisualShaderEditor::_float_constant_selected(int p_index, int p_node) {
if (p_index == 0) {
+ graph_plugin->update_node_size(p_node);
return;
}
diff --git a/editor/plugins/visual_shader_editor_plugin.h b/editor/plugins/visual_shader_editor_plugin.h
index 60a354d1fd..d43af82238 100644
--- a/editor/plugins/visual_shader_editor_plugin.h
+++ b/editor/plugins/visual_shader_editor_plugin.h
@@ -111,6 +111,7 @@ public:
void set_uniform_name(VisualShader::Type p_type, int p_node_id, const String &p_name);
void update_constant(VisualShader::Type p_type, int p_node_id);
int get_constant_index(float p_constant) const;
+ void update_node_size(int p_node_id);
VisualShader::Type get_shader_type() const;
VisualShaderGraphPlugin();