diff --git a/source/blender/editors/space_outliner/outliner_select.cc b/source/blender/editors/space_outliner/outliner_select.cc index c2975833dcc..87d187c2798 100644 --- a/source/blender/editors/space_outliner/outliner_select.cc +++ b/source/blender/editors/space_outliner/outliner_select.cc @@ -219,7 +219,7 @@ void outliner_item_mode_toggle(bContext *C, static void tree_element_viewlayer_activate(bContext *C, TreeElement *te) { /* paranoia check */ - if (te->idcode != ID_SCE) { + if (te->store_elem->type != TSE_R_LAYER) { return; } diff --git a/source/blender/editors/space_outliner/tree/tree_display_view_layer.cc b/source/blender/editors/space_outliner/tree/tree_display_view_layer.cc index 66c1fa34914..a1eeb35bb8e 100644 --- a/source/blender/editors/space_outliner/tree/tree_display_view_layer.cc +++ b/source/blender/editors/space_outliner/tree/tree_display_view_layer.cc @@ -79,8 +79,14 @@ ListBase TreeDisplayViewLayer::buildTree(const TreeSourceData &source_data) } else { TreeElement &te_view_layer = *outliner_add_element( - &space_outliner_, &tree, scene, nullptr, TSE_R_LAYER, 0); - TREESTORE(&te_view_layer)->flag &= ~TSE_CLOSED; + &space_outliner_, &tree, view_layer, nullptr, TSE_R_LAYER, 0); + + TreeStoreElem *tselem = TREESTORE(&te_view_layer); + + if (!tselem->used) { + tselem->flag &= ~TSE_CLOSED; + } + te_view_layer.name = view_layer->name; te_view_layer.directdata = view_layer;