From edcb2ad7b3a07f9cd09243cc5fbf5e563e853964 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Thu, 10 Mar 2022 15:42:22 -0600 Subject: Fix: Handle handles reset when realizing with other curve types The result handle attributes for non-bezier types are zeroed. By mistake though, the entire array was zeroed, not just the area corresponding to that curves source. --- source/blender/geometry/intern/realize_instances.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source/blender/geometry/intern/realize_instances.cc') diff --git a/source/blender/geometry/intern/realize_instances.cc b/source/blender/geometry/intern/realize_instances.cc index 100146bbf0c..32bad07de4f 100644 --- a/source/blender/geometry/intern/realize_instances.cc +++ b/source/blender/geometry/intern/realize_instances.cc @@ -1155,14 +1155,14 @@ static void execute_realize_curve_task(const RealizeInstancesOptions &options, /* Copy and transform handle positions if necessary. */ if (all_curves_info.create_handle_postion_attributes) { if (curves_info.handle_left.is_empty()) { - all_handle_left.fill(float3(0)); + all_handle_left.slice(dst_point_range).fill(float3(0)); } else { copy_transformed_positions( curves_info.handle_left, task.transform, all_handle_left.slice(dst_point_range)); } if (curves_info.handle_right.is_empty()) { - all_handle_right.fill(float3(0)); + all_handle_right.slice(dst_point_range).fill(float3(0)); } else { copy_transformed_positions( -- cgit v1.2.3