diff options
author | Jacques Lucke <jacques@blender.org> | 2022-05-05 13:24:08 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2022-05-05 13:24:24 +0300 |
commit | 18bcd8321a68832d01a0fedeed38b80767f70a64 (patch) | |
tree | 8bc556b4314e32af7f38d07733a54eb7bdfeb8ca /source/blender/editors/sculpt_paint/curves_sculpt_add.cc | |
parent | 622c4e4953a0bd774bcbe3e1051ff56dc1933282 (diff) |
Curves: show warning when using Add brush without surface
Diffstat (limited to 'source/blender/editors/sculpt_paint/curves_sculpt_add.cc')
-rw-r--r-- | source/blender/editors/sculpt_paint/curves_sculpt_add.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_add.cc b/source/blender/editors/sculpt_paint/curves_sculpt_add.cc index 64dac56ecfb..1fdecf47bbd 100644 --- a/source/blender/editors/sculpt_paint/curves_sculpt_add.cc +++ b/source/blender/editors/sculpt_paint/curves_sculpt_add.cc @@ -21,6 +21,7 @@ #include "BKE_mesh.h" #include "BKE_mesh_runtime.h" #include "BKE_paint.h" +#include "BKE_report.h" #include "BKE_spline.hh" #include "DNA_brush_enums.h" @@ -836,8 +837,16 @@ void AddOperation::on_stroke_extended(bContext *C, const StrokeExtension &stroke executor.execute(*this, C, stroke_extension); } -std::unique_ptr<CurvesSculptStrokeOperation> new_add_operation() +std::unique_ptr<CurvesSculptStrokeOperation> new_add_operation(bContext &C, ReportList *reports) { + Object &ob_active = *CTX_data_active_object(&C); + BLI_assert(ob_active.type == OB_CURVES); + Curves &curves_id = *static_cast<Curves *>(ob_active.data); + if (curves_id.surface == nullptr || curves_id.surface->type != OB_MESH) { + BKE_report(reports, RPT_WARNING, "Can not use Add brush when there is no surface mesh"); + return {}; + } + return std::make_unique<AddOperation>(); } |