Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-03-05 06:28:57 +0300
committerHans Goudey <h.goudey@me.com>2022-03-05 06:28:57 +0300
commit887ccb853711d89a67d77fa1037cd977298780b3 (patch)
tree48919389ab4a786bc97c925fbd96f894440e424f /source
parent295d5c6ef5b9a464cfdd52eaffb3c0e710ad4155 (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')
-rw-r--r--source/blender/blenkernel/intern/geometry_component_curves.cc13
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});