Fix T101933: pick deselecting bones in empty space deactivates armature

As a consequence of this, subsequent box-selection of bones would not
show correctly in Animation Editors (not showing the channels there
because of the lack of an active object).

The bug was caused by rBba6d59a85a38.
Prior to said commit, code logic was relying on the check for `basact`
being NULL to determine if object selection changes need to happen.
After that commit, this was handled by a `handled` variable, but this
was not set correctly if `basact` is actually NULL after the initial
pick (aka deselection by picking).

Maniphest Tasks: T101933

Differential Revision: https://developer.blender.org/D16326
This commit is contained in:
Philipp Oeser 2022-10-24 10:34:54 +02:00
parent 78b13ab3db
commit 2240ca3e7b
Notes: blender-bot 2023-02-14 08:24:03 +01:00
Referenced by issue #100749, Blender LTS: Maintenance Task 3.3
Referenced by issue #101933, Regression: Box select may not show channel rows in Animation Editors
1 changed files with 4 additions and 1 deletions

View File

@ -2704,7 +2704,10 @@ static bool ed_object_select_pick(bContext *C,
/* When there is no `baseact` this will have operated on `oldbasact`,
* allowing #SelectPick_Params.deselect_all work in pose-mode.
* In this case no object operations are needed. */
if (basact != nullptr) {
if (basact == nullptr) {
handled = true;
}
else {
/* By convention the armature-object is selected when in pose-mode.
* While leaving it unselected will work, leaving pose-mode would leave the object
* active + unselected which isn't ideal when performing other actions on the object. */