diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/geometry_set_instances.cc | 7 | ||||
-rw-r--r-- | source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/geometry_set_instances.cc b/source/blender/blenkernel/intern/geometry_set_instances.cc index a56c7ffb295..8a7840acd73 100644 --- a/source/blender/blenkernel/intern/geometry_set_instances.cc +++ b/source/blender/blenkernel/intern/geometry_set_instances.cc @@ -540,8 +540,11 @@ static void sort_curve_point_attributes(const Map<AttributeIDRef, AttributeKind> MutableSpan<SplinePtr> splines) { Vector<AttributeIDRef> new_order; - for (const AttributeIDRef attribute_id : info.keys()) { - new_order.append(attribute_id); + for (Map<AttributeIDRef, AttributeKind>::Item item : info.items()) { + if (item.value.domain == ATTR_DOMAIN_POINT) { + /* Only sort attributes stored on splines. */ + new_order.append(item.key); + } } for (SplinePtr &spline : splines) { spline->attributes.reorder(new_order); 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 110b4a30dc8..9d363bd1af4 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc @@ -366,8 +366,11 @@ static void sort_curve_point_attributes(const Map<AttributeIDRef, AttributeMetaD MutableSpan<SplinePtr> splines) { Vector<AttributeIDRef> new_order; - for (const AttributeIDRef attribute_id : info.keys()) { - new_order.append(attribute_id); + for (Map<AttributeIDRef, AttributeMetaData>::Item item : info.items()) { + if (item.value.domain == ATTR_DOMAIN_POINT) { + /* Only sort attributes stored on splines. */ + new_order.append(item.key); + } } for (SplinePtr &spline : splines) { spline->attributes.reorder(new_order); |