[Bf-blender-cvs] [dbd9472ef58] master: Fix: Assert in set spline type node after recent commit

Hans Goudey noreply at git.blender.org
Fri Mar 11 18:27:49 CET 2022


Commit: dbd9472ef58174e8af011735b0b1bd87a7447348
Author: Hans Goudey
Date:   Fri Mar 11 11:27:18 2022 -0600
Branches: master
https://developer.blender.org/rBdbd9472ef58174e8af011735b0b1bd87a7447348

Fix: Assert in set spline type node after recent commit

My own error when committing 0602852860dda. It appears that
the "Endpoint" knots modes should be handled together, otherwise
out of bounds array access is possible.

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

M	source/blender/nodes/geometry/nodes/node_geo_curve_spline_type.cc

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

diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_spline_type.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_spline_type.cc
index 6928cde638c..1b4429cc527 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_curve_spline_type.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_curve_spline_type.cc
@@ -65,7 +65,6 @@ static void nurbs_to_bezier_assign(const Span<T> input,
 
   switch (knotsMode) {
     case NURBSpline::KnotsMode::Bezier:
-    case NURBSpline::KnotsMode::EndPointBezier:
       scale_input_assign<T>(input, 3, 1, r_output);
       break;
     case NURBSpline::KnotsMode::Normal:
@@ -73,6 +72,7 @@ static void nurbs_to_bezier_assign(const Span<T> input,
         r_output[i] = input[(i + 1) % input_size];
       }
       break;
+    case NURBSpline::KnotsMode::EndPointBezier:
     case NURBSpline::KnotsMode::EndPoint:
       for (const int i : IndexRange(1, output_size - 2)) {
         r_output[i] = input[i + 1];



More information about the Bf-blender-cvs mailing list