From fcb7b0adcc843f2dd90ba4175d6008c35ed3168f Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Thu, 28 Jan 2021 17:03:34 +0100 Subject: Fix T85157: join node not working when the second mesh is empty The issue was that the `offset` in `dst_span[offset]` was out of bounds when the domain size is 0. The fix is to simply skip copying attributes in that case. --- source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender/nodes') diff --git a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc index 67bc095fa31..42402e23fa5 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc @@ -163,6 +163,9 @@ static void fill_new_attribute(Span src_components, int offset = 0; for (const GeometryComponent *component : src_components) { const int domain_size = component->attribute_domain_size(domain); + if (domain_size == 0) { + continue; + } ReadAttributePtr read_attribute = component->attribute_get_for_read( attribute_name, domain, data_type, nullptr); -- cgit v1.2.3