diff options
author | Richard Antalik <richardantalik@gmail.com> | 2020-05-01 22:28:55 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2020-05-01 22:28:55 +0300 |
commit | 87602d886f70a38a20e5738709dd971744a27516 (patch) | |
tree | d1800954dd2ff507a7a20fe085a0aee822921d37 /source/blender/editors/space_outliner | |
parent | 9ca78c9bcc4211abf8a83abd86f457c34e725303 (diff) | |
parent | 98990f6ba439b496e8680d5043ebb18365b9e054 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/editors/space_outliner')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_select.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c index e87e71f0689..fa8422573ab 100644 --- a/source/blender/editors/space_outliner/outliner_select.c +++ b/source/blender/editors/space_outliner/outliner_select.c @@ -357,20 +357,24 @@ static eOLDrawState tree_element_set_active_object(bContext *C, } te_ob = outliner_find_id(soops, &soops->tree, (ID *)ob); - if (te_ob != NULL) { + if (te_ob != NULL && te_ob != te) { parent_tselem = TREESTORE(te_ob); } - if (!ELEM(NULL, parent_tselem, base)) { + if (base) { if (set == OL_SETSEL_EXTEND) { /* swap select */ if (base->flag & BASE_SELECTED) { ED_object_base_select(base, BA_DESELECT); - parent_tselem->flag &= ~TSE_SELECTED; + if (parent_tselem) { + parent_tselem->flag &= ~TSE_SELECTED; + } } else { ED_object_base_select(base, BA_SELECT); - parent_tselem->flag |= TSE_SELECTED; + if (parent_tselem) { + parent_tselem->flag |= TSE_SELECTED; + } } } else { @@ -386,7 +390,9 @@ static eOLDrawState tree_element_set_active_object(bContext *C, BKE_view_layer_base_deselect_all(view_layer); } ED_object_base_select(base, BA_SELECT); - parent_tselem->flag |= TSE_SELECTED; + if (parent_tselem) { + parent_tselem->flag |= TSE_SELECTED; + } } if (recursive) { |