From 4472a11017a0c48f77df26d990df2016f457058d Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 20 Sep 2021 20:20:39 -0500 Subject: 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. --- source/blender/blenkernel/intern/spline_bezier.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source') 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); -- cgit v1.2.3