From 5a069967222ebb9d439aecc6dd85d9a5286a2344 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 19 Apr 2022 12:09:09 -0500 Subject: Fix: Assert when sculpting empty curves --- source/blender/editors/sculpt_paint/curves_sculpt_comb.cc | 3 +++ source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc | 3 +++ source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc | 3 +++ 3 files changed, 9 insertions(+) diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_comb.cc b/source/blender/editors/sculpt_paint/curves_sculpt_comb.cc index 6a47f90d4ac..232d632aa3f 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_comb.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_comb.cc @@ -136,6 +136,9 @@ struct CombOperationExecutor { curves_id_ = static_cast(object_->data); curves_ = &CurvesGeometry::wrap(curves_id_->geometry); + if (curves_->curves_num() == 0) { + return; + } brush_pos_prev_re_ = self_->brush_pos_last_re_; brush_pos_re_ = stroke_extension.mouse_position; diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc b/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc index 7cc5e524c30..6228a643a76 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_grow_shrink.cc @@ -311,6 +311,9 @@ struct CurvesEffectOperationExecutor { curves_id_ = static_cast(object_->data); curves_ = &CurvesGeometry::wrap(curves_id_->geometry); + if (curves_->curves_num() == 0) { + return; + } CurvesSculpt &curves_sculpt = *scene_->toolsettings->curves_sculpt; brush_ = BKE_paint_brush(&curves_sculpt.paint); diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc b/source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc index b367c5bb6ec..6d930d35f04 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_snake_hook.cc @@ -116,6 +116,9 @@ struct SnakeHookOperatorExecutor { curves_id_ = static_cast(object_->data); curves_ = &CurvesGeometry::wrap(curves_id_->geometry); + if (curves_->curves_num() == 0) { + return; + } brush_pos_prev_re_ = self.last_mouse_position_re_; brush_pos_re_ = stroke_extension.mouse_position; -- cgit v1.2.3