diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-04-17 12:21:27 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-04-17 12:23:58 +0300 |
commit | 963b1c8e41edd6cfd400b1e1e19d073d88378013 (patch) | |
tree | 906ea6df89f2d0db9b3d2c2c18fb2cb373fb5f10 /source/blender/editors/armature/armature_select.c | |
parent | ad797ed39a49d8591d561eca71c170733f8a0c1a (diff) |
Pose: fix wpaint + pose mode pick & linked select
Diffstat (limited to 'source/blender/editors/armature/armature_select.c')
-rw-r--r-- | source/blender/editors/armature/armature_select.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/editors/armature/armature_select.c b/source/blender/editors/armature/armature_select.c index 6ad33125a25..ce044d1cf48 100644 --- a/source/blender/editors/armature/armature_select.c +++ b/source/blender/editors/armature/armature_select.c @@ -41,6 +41,7 @@ #include "BKE_context.h" #include "BKE_action.h" +#include "BKE_object.h" #include "BKE_report.h" #include "BKE_layer.h" @@ -259,10 +260,16 @@ void *get_nearest_bone( if (hits > 0) { uint bases_len = 0; - Base **bases = BKE_view_layer_array_from_bases_in_mode( - vc.view_layer, &bases_len, { - .object_mode = vc.obedit ? OB_MODE_EDIT : OB_MODE_POSE, - .no_dup_data = true}); + Base **bases; + + if (vc.obedit != NULL) { + bases = BKE_view_layer_array_from_bases_in_mode( + vc.view_layer, &bases_len, { + .object_mode = OB_MODE_EDIT}); + } + else { + bases = BKE_object_pose_base_array_get(vc.view_layer, &bases_len); + } void *bone = get_bone_from_selectbuffer( bases, bases_len, vc.obedit != NULL, buffer, hits, findunsel, true, r_base); |