diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-11-18 22:18:57 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-11-18 22:21:58 +0400 |
commit | 6f3f107c5973cd68699f90256e5c0a7fc2dfb8fe (patch) | |
tree | 65e201edab22015e16939ea12b90da51c9828d4d /source/blender | |
parent | c73f82b6f07c76705be52d7bb40ee866aea98b9c (diff) |
Fix T37336: Toggle selecting a pose-bone from object mode would de-select all others.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/armature/pose_select.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/editors/armature/pose_select.c b/source/blender/editors/armature/pose_select.c index b3277c185d4..765437f3622 100644 --- a/source/blender/editors/armature/pose_select.c +++ b/source/blender/editors/armature/pose_select.c @@ -129,9 +129,16 @@ int ED_do_pose_selectbuffer(Scene *scene, Base *base, unsigned int *buffer, shor * note, special exception for armature mode so we can do multi-select * we could check for multi-select explicitly but think its fine to * always give predictable behavior in weight paint mode - campbell */ - if ((!extend && !deselect && !toggle) || - ((ob_act && (ob_act != ob) && (ob_act->mode & OB_MODE_WEIGHT_PAINT) == 0))) - { + if ((ob_act == NULL) || ((ob_act != ob) && (ob_act->mode & OB_MODE_WEIGHT_PAINT) == 0)) { + /* when we are entering into posemode via toggle-select, + * frop another active object - always select the bone. */ + if (!extend && !deselect && toggle) { + /* re-select below */ + nearBone->flag &= ~BONE_SELECTED; + } + } + + if (!extend && !deselect && !toggle) { ED_pose_deselectall(ob, 0); nearBone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL); arm->act_bone = nearBone; |