diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-05-30 16:50:52 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-05-30 16:51:49 +0300 |
commit | f1f1c3284950902f7597931bd1044f085d2ef634 (patch) | |
tree | 78dcea91173740eb5d4f5457563c167d360e797e /source | |
parent | 5b8fe8324b647e6b64225de1bbb61d286cbca52a (diff) |
Object Modes: don't de-select others when activating
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_select.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c index dfeea12a2f1..0e30c43998e 100644 --- a/source/blender/editors/space_outliner/outliner_select.c +++ b/source/blender/editors/space_outliner/outliner_select.c @@ -276,7 +276,15 @@ static eOLDrawState tree_element_set_active_object( } else { /* deleselect all */ - BKE_view_layer_base_deselect_all(view_layer); +#ifdef USE_OBJECT_MODE_STRICT + /* Only in object mode so we can switch the active object, + * keeping all objects in the current 'mode' selected, useful for multi-pose/edit mode. + * This keeps the convention that all objects in the current mode are also selected. see T55246. */ + if (ob->mode == OB_MODE_OBJECT) +#endif + { + BKE_view_layer_base_deselect_all(view_layer); + } ED_object_base_select(base, BA_SELECT); } |