diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2021-02-24 22:19:44 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2021-02-24 22:20:03 +0300 |
commit | 201ab7c54025afc42570ce3df3d2bb7f37fe36be (patch) | |
tree | bf2568675d34ecd79380cebfb0553cd1f8d453af /source/blender/editors | |
parent | d3a96e5022e121426c8926d0507effe4e9b4005f (diff) |
Fix T85823: bpy.ops.transform... ignoring 'center_override' for Bezier control points
`transform_around_single_fallback_ex` ignored that the center could be overwritten.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/transform/transform_convert.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/source/blender/editors/transform/transform_convert.c b/source/blender/editors/transform/transform_convert.c index 6b2e9dd9840..e2ec857b670 100644 --- a/source/blender/editors/transform/transform_convert.c +++ b/source/blender/editors/transform/transform_convert.c @@ -73,12 +73,20 @@ bool transform_mode_use_local_origins(const TransInfo *t) */ void transform_around_single_fallback_ex(TransInfo *t, int data_len_all) { - if ((ELEM(t->around, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_CENTER_MEDIAN, V3D_AROUND_ACTIVE)) && - transform_mode_use_local_origins(t)) { - if (data_len_all == 1) { - t->around = V3D_AROUND_LOCAL_ORIGINS; - } + if (data_len_all != 1) { + return; } + if (!ELEM(t->around, V3D_AROUND_CENTER_BOUNDS, V3D_AROUND_CENTER_MEDIAN, V3D_AROUND_ACTIVE)) { + return; + } + if (!transform_mode_use_local_origins(t)) { + return; + } + if (t->flag | T_OVERRIDE_CENTER) { + return; + } + + t->around = V3D_AROUND_LOCAL_ORIGINS; } void transform_around_single_fallback(TransInfo *t) |