diff options
author | Hans Goudey <h.goudey@me.com> | 2022-03-05 06:28:57 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-03-05 06:28:57 +0300 |
commit | 887ccb853711d89a67d77fa1037cd977298780b3 (patch) | |
tree | 48919389ab4a786bc97c925fbd96f894440e424f /source/blender/blenkernel | |
parent | 295d5c6ef5b9a464cfdd52eaffb3c0e710ad4155 (diff) |
Fix T96152: Crash realizing curve instances
The "curve_type" was transferred to instances because it isn't a
built-in curve attribute. Then it was interpolated as a point
domain attribute from the instance domain in the realize
instances node.
The fix was just missing from 9ec12c26f16ea3da1e6de95d5.
`curve_type` needs to be marked as a built-in attribute.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/geometry_component_curves.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/geometry_component_curves.cc b/source/blender/blenkernel/intern/geometry_component_curves.cc index 5723d110aa0..86cbea9a9bb 100644 --- a/source/blender/blenkernel/intern/geometry_component_curves.cc +++ b/source/blender/blenkernel/intern/geometry_component_curves.cc @@ -467,6 +467,18 @@ static ComponentAttributeProviders create_attribute_providers_for_curve() make_array_write_attribute<int8_t>, tag_component_topology_changed); + static BuiltinCustomDataLayerProvider curve_type("curve_type", + ATTR_DOMAIN_CURVE, + CD_PROP_INT8, + CD_PROP_INT8, + BuiltinAttributeProvider::Creatable, + BuiltinAttributeProvider::Writable, + BuiltinAttributeProvider::Deletable, + curve_access, + make_array_read_attribute<int8_t>, + make_array_write_attribute<int8_t>, + tag_component_topology_changed); + static BuiltinCustomDataLayerProvider resolution("resolution", ATTR_DOMAIN_CURVE, CD_PROP_INT32, @@ -504,6 +516,7 @@ static ComponentAttributeProviders create_attribute_providers_for_curve() &handle_type_left, &nurbs_order, &nurbs_weight, + &curve_type, &resolution, &cyclic}, {&curve_custom_data, &point_custom_data}); |