diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-12-07 11:10:08 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-12-07 11:10:08 +0300 |
commit | 32aefb6fbaa6478fec603e818adf0afb7646273c (patch) | |
tree | b5c66a194ca078d2a9e762795e0c662ea842536d /source | |
parent | 10540822dcc7ec5d211e9f9deb3e8a750ec7232e (diff) |
Fix T58911: Picking objects fails in pose mode
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_select.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index f186de0886c..e32c60c2b32 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -1312,7 +1312,7 @@ static int selectbuffer_ret_hits_5(unsigned int *buffer, const int hits15, const /* so check three selection levels and compare */ static int mixed_bones_object_selectbuffer( ViewContext *vc, unsigned int *buffer, const int mval[2], - bool use_cycle, bool enumerate, eV3DSelectObjectFilter select_filter, + bool use_cycle, bool enumerate, bool use_scene_lock, eV3DSelectObjectFilter select_filter, bool *r_do_nearest) { rcti rect; @@ -1394,7 +1394,7 @@ static int mixed_bones_object_selectbuffer( finally: view3d_opengl_select_cache_end(); - if (vc->scene->toolsettings->object_flag & SCE_OBJECT_MODE_LOCK) { + if (use_scene_lock && (vc->scene->toolsettings->object_flag & SCE_OBJECT_MODE_LOCK)) { const bool is_pose_mode = ( (vc->obact && vc->obact->mode & OB_MODE_POSE) || (select_filter == VIEW3D_SELECT_FILTER_WPAINT_POSE_MODE_LOCK)); @@ -1518,7 +1518,7 @@ Base *ED_view3d_give_base_under_cursor(bContext *C, const int mval[2]) hits = mixed_bones_object_selectbuffer( &vc, buffer, mval, - false, false, VIEW3D_SELECT_FILTER_NOP, + false, false, false, VIEW3D_SELECT_FILTER_NOP, &do_nearest); if (hits > 0) { @@ -1650,7 +1650,7 @@ static bool ed_object_select_pick( (object == false) ? ED_view3d_select_filter_from_mode(scene, vc.obact) : VIEW3D_SELECT_FILTER_NOP); hits = mixed_bones_object_selectbuffer( &vc, buffer, mval, - true, enumerate, select_filter, + true, enumerate, (object == false), select_filter, &do_nearest); // TIMEIT_END(select_time); |