diff options
author | Yiming Wu <xp8110@outlook.com> | 2022-06-02 16:27:09 +0300 |
---|---|---|
committer | Yiming Wu <xp8110@outlook.com> | 2022-06-02 16:27:28 +0300 |
commit | 04f67fb2dbf38e05d9c4855d2b214d545913c850 (patch) | |
tree | c7875a5a8ee51a8448210498363ed8e8ac5b4b68 /source/blender/editors/curves/intern/curves_ops.cc | |
parent | e3363451667299b1cbc85b04bcec3f106e5dc216 (diff) | |
parent | 432c4c74ebe6f66b83e06ff7fca70c96d0526d6a (diff) |
Merge remote-tracking branch 'origin/master' into temp-lineart-containedtemp-lineart-contained
Diffstat (limited to 'source/blender/editors/curves/intern/curves_ops.cc')
-rw-r--r-- | source/blender/editors/curves/intern/curves_ops.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/editors/curves/intern/curves_ops.cc b/source/blender/editors/curves/intern/curves_ops.cc index 0e12257be58..85214e1608d 100644 --- a/source/blender/editors/curves/intern/curves_ops.cc +++ b/source/blender/editors/curves/intern/curves_ops.cc @@ -848,10 +848,21 @@ static int select_all_exec(bContext *C, wmOperator *op) for (Curves *curves_id : unique_curves) { if (action == SEL_SELECT) { + /* The optimization to avoid storing the selection when everything is selected causes too + * many problems at the moment, since there is no proper visualization yet. Keep the code but + * disable it for now. */ +#if 0 CurveComponent component; component.replace(curves_id, GeometryOwnershipType::Editable); component.attribute_try_delete(".selection_point_float"); component.attribute_try_delete(".selection_curve_float"); +#else + CurvesGeometry &curves = CurvesGeometry::wrap(curves_id->geometry); + MutableSpan<float> selection = curves_id->selection_domain == ATTR_DOMAIN_POINT ? + curves.selection_point_float_for_write() : + curves.selection_curve_float_for_write(); + selection.fill(1.0f); +#endif } else { CurvesGeometry &curves = CurvesGeometry::wrap(curves_id->geometry); |