diff options
author | Campbell Barton <campbell@blender.org> | 2022-03-16 13:22:35 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-03-16 13:25:38 +0300 |
commit | fbc36c77b03ba31fac1dc936db48d804af804672 (patch) | |
tree | d1b8a422034d4711621d598b800680f97182485c | |
parent | 79ae5f50149a4015624ec8a36c45a72e6d45798a (diff) |
Fix error with pose & deselect_all with 5e5285baf621a0c225cb5fc06fce
-rw-r--r-- | source/blender/editors/space_view3d/view3d_select.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index da25c58e1be..25e47f9f6b9 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -2493,8 +2493,15 @@ static bool ed_object_select_pick(bContext *C, if (vc.obedit) { /* Edit-mode, pass. */ } - else if (is_pose_mode && (basact && (basact->object->mode & OB_MODE_POSE))) { + else if (is_pose_mode && (basact == NULL || (basact->object->mode & OB_MODE_POSE))) { /* Pose-mode, pass (or moved into pose mode). */ + if (changed == false) { + /* Pose selection handles this but it wont run if there are no bones under the cursor. */ + const bool found = false; + if ((params->sel_op == SEL_OP_SET) && (found || params->deselect_all)) { + changed |= ED_pose_deselect_all_multi(C, SEL_DESELECT, false); + } + } } else { /* Object-mode. */ |