diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-09-30 11:48:22 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-09-30 11:51:16 +0300 |
commit | 1030b22b0ae67aa648da5a77c38a361bb2d8cd6f (patch) | |
tree | cdeca8878e1f4cb2d292d3d16a97ae1d3cef600f /source/blender/editors/transform/transform_conversions.c | |
parent | 491b1899de1716bcc0c9f0a5fb6d93b701b64784 (diff) |
Fix T46325: Armature: No more possible to rotate a bone with only its tip selected, in EditMode.
Regression from rB312cb0a957b81233ea, now we make an exception for TFM_ROTATION mode...
Diffstat (limited to 'source/blender/editors/transform/transform_conversions.c')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index c12418f1a0f..1e642d355f2 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -1253,11 +1253,16 @@ static void createTransArmatureVerts(TransInfo *t) if (ebo->flag & BONE_TIPSEL) { copy_v3_v3(td->iloc, ebo->tail); - /* don't allow single selected tips to have a modified center, - * causes problem with snapping T45974 */ - copy_v3_v3(td->center, - ((t->around == V3D_LOCAL) && - (ebo->flag & BONE_ROOTSEL)) ? ebo->head : td->iloc); + /* Don't allow single selected tips to have a modified center, + * causes problem with snapping (see T45974). + * However, in rotation mode, we want to keep that 'rotate bone around root with + * only its tip selected' behavior (see T46325). */ + if ((t->around == V3D_LOCAL) && ((t->mode == TFM_ROTATION) || (ebo->flag & BONE_ROOTSEL))) { + copy_v3_v3(td->center, ebo->head); + } + else { + copy_v3_v3(td->center, td->iloc); + } td->loc = ebo->tail; td->flag = TD_SELECTED; |