[Bf-blender-cvs] [3cebc58936b] master: Fix: Assert in subdivide curves node after span slicing change

Hans Goudey noreply at git.blender.org
Thu Dec 1 04:23:11 CET 2022


Commit: 3cebc58936bc9d7391d24be334f5cb145948bb4b
Author: Hans Goudey
Date:   Wed Nov 30 21:21:44 2022 -0600
Branches: master
https://developer.blender.org/rB3cebc58936bc9d7391d24be334f5cb145948bb4b

Fix: Assert in subdivide curves node after span slicing change

a5e7657ceeb6cc5b6 missed this call where clamped slicing is necessary.
The subdivision of a segment purposefully modifies the handle types of
the other side of the following control point, but that didn't work for
the final cyclic segment.

===================================================================

M	release/scripts/addons
M	source/blender/geometry/intern/subdivide_curves.cc

===================================================================

diff --git a/release/scripts/addons b/release/scripts/addons
index 0b0052bd53a..fdfd24de034 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 0b0052bd53ad8249ed07dfb87705c338af698bde
+Subproject commit fdfd24de034d4bba4fb67731d0aae81dc4940239
diff --git a/source/blender/geometry/intern/subdivide_curves.cc b/source/blender/geometry/intern/subdivide_curves.cc
index f2c54d4fa59..021fa091364 100644
--- a/source/blender/geometry/intern/subdivide_curves.cc
+++ b/source/blender/geometry/intern/subdivide_curves.cc
@@ -172,7 +172,7 @@ static void subdivide_bezier_segment(const float3 &position_prev,
   auto fill_segment_handle_types = [&](const HandleType type) {
     /* Also change the left handle of the control point following the segment's points. And don't
      * change the left handle of the first point, since that is part of the previous segment. */
-    dst_types_l.slice(segment_points.shift(1)).fill(type);
+    dst_types_l.slice_safe(segment_points.shift(1)).fill(type);
     dst_types_r.slice(segment_points).fill(type);
   };



More information about the Bf-blender-cvs mailing list