Commit: 4472a11017a0c48f77df26d990df2016f457058d
Author: Hans Goudey
Date:   Mon Sep 20 20:20:39 2021 -0500
Branches: master
https://developer.blender.org/rB4472a11017a0c48f77df26d990df2016f457058d

Fix: Crash with single point bezier spline auto handles

There's no way to calculate auto or vector handles when there is
only one point, and returning early allows avoiding checking for
that case later on.

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

M       source/blender/blenkernel/intern/spline_bezier.cc

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

diff --git a/source/blender/blenkernel/intern/spline_bezier.cc 
b/source/blender/blenkernel/intern/spline_bezier.cc
index 79d2137ee84..b36d7a21669 100644
--- a/source/blender/blenkernel/intern/spline_bezier.cc
+++ b/source/blender/blenkernel/intern/spline_bezier.cc
@@ -214,6 +214,11 @@ void BezierSpline::ensure_auto_handles() const
     return;
   }
 
+  if (this->size() == 1) {
+    auto_handles_dirty_ = false;
+    return;
+  }
+
   for (const int i : IndexRange(this->size())) {
     if (ELEM(HandleType::Auto, handle_types_left_[i], handle_types_right_[i])) 
{
       const float3 prev_diff = positions_[i] - previous_position(positions_, 
is_cyclic_, i);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to