diff options
Diffstat (limited to 'source/blender/nodes/shader/nodes/node_shader_vector_math.cc')
-rw-r--r-- | source/blender/nodes/shader/nodes/node_shader_vector_math.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/nodes/shader/nodes/node_shader_vector_math.cc b/source/blender/nodes/shader/nodes/node_shader_vector_math.cc index 70a0d47e1b9..5f5969de78c 100644 --- a/source/blender/nodes/shader/nodes/node_shader_vector_math.cc +++ b/source/blender/nodes/shader/nodes/node_shader_vector_math.cc @@ -42,10 +42,13 @@ static void sh_node_vector_math_declare(NodeDeclarationBuilder &b) static void sh_node_vector_math_gather_link_searches(GatherLinkSearchOpParams ¶ms) { /* For now, do something very basic (only exposing "Add", and a single "Vector" socket). */ - params.add_item(IFACE_("Vector"), [](LinkSearchOpParams ¶ms) { - bNode &node = params.add_node("ShaderNodeVectorMath"); - params.update_and_connect_available_socket(node, "Vector"); - }); + if (params.node_tree().typeinfo->validate_link( + static_cast<eNodeSocketDatatype>(params.other_socket().type), SOCK_VECTOR)) { + params.add_item(IFACE_("Vector"), [](LinkSearchOpParams ¶ms) { + bNode &node = params.add_node("ShaderNodeVectorMath"); + params.update_and_connect_available_socket(node, "Vector"); + }); + } } } // namespace blender::nodes |