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...
This commit is contained in:
Bastien Montagne 2015-09-30 10:48:22 +02:00 committed by Sergey Sharybin
parent 67dffa60ae
commit 7914d04d13
1 changed files with 10 additions and 5 deletions

View File

@ -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;