diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-04-01 09:08:41 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-04-01 09:08:41 +0300 |
commit | 9bcc83a5d6f90788db14d5c69085eda2456e4cad (patch) | |
tree | b5973486fe8aca8684f72dc646f03ecdb835fecb /source/blender/editors/curve | |
parent | 8d116e99569f9d8a5f297686d2c0e0757fab6daf (diff) |
Fix problem extruding curve segments with selected handles
Issue introduced in 38685b5a39769
Diffstat (limited to 'source/blender/editors/curve')
-rw-r--r-- | source/blender/editors/curve/editcurve.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index c513410cfd9..8a484867e9f 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -5401,6 +5401,12 @@ static bool ed_editcurve_extrude(Curve *cu, EditNurb *editnurb, View3D *v3d) i = 0; for (bezt = &nu->bezt[0]; i < pnt_len; i++, bezt++) { bool is_selected = BEZT_ISSEL_ANY_HIDDENHANDLES(v3d, bezt); + /* While this gets de-selected, selecting here ensures newly created verts are selected. + * without this, the vertices are copied but only the handles are transformed. + * which seems buggy from a user perspective. */ + if (is_selected) { + bezt->f2 |= SELECT; + } if (bezt_prev && is_prev_selected != is_selected) { int count = i - offset + 1; if (is_prev_selected) { |