diff options
author | Joshua Leung <aligorith@gmail.com> | 2012-01-24 12:43:39 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2012-01-24 12:43:39 +0400 |
commit | b8fe464b62098d0fbdca2f4b629c0c3042224507 (patch) | |
tree | f66395870fb91713cdf2d90a430695026d53ccc9 /source/blender/editors | |
parent | 9998d1235bd587690f27675a0e148af23f32efb5 (diff) |
Bugfix: Circle-select in Pose Mode disregarded layer visibility, selecting
invisible bones too
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_select.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 1b153d03e45..be838c36ba9 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -2452,6 +2452,7 @@ static short pchan_circle_doSelectJoint(void *userData, bPoseChannel *pchan, int static void pose_circle_select(ViewContext *vc, int select, const int mval[2], float rad) { struct {ViewContext *vc; short select; int mval[2]; float radius; } data; + bArmature *arm = vc->obact->data; bPose *pose = vc->obact->pose; bPoseChannel *pchan; int change= FALSE; @@ -2470,6 +2471,10 @@ static void pose_circle_select(ViewContext *vc, int select, const int mval[2], f short sco1[2], sco2[2], didpoint=0; float vec[3]; + /* skip invisible bones */ + if (PBONE_VISIBLE(arm, pchan->bone) == 0) + continue; + /* project head location to screenspace */ mul_v3_m4v3(vec, vc->obact->obmat, pchan->pose_head); project_short(vc->ar, vec, sco1); |