diff options
Diffstat (limited to 'source/blender/editors/space_outliner/outliner_utils.cc')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_utils.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/space_outliner/outliner_utils.cc b/source/blender/editors/space_outliner/outliner_utils.cc index ff5292e2883..2deedccc29e 100644 --- a/source/blender/editors/space_outliner/outliner_utils.cc +++ b/source/blender/editors/space_outliner/outliner_utils.cc @@ -45,6 +45,7 @@ void outliner_viewcontext_init(const bContext *C, TreeViewContext *tvc) tvc->view_layer = CTX_data_view_layer(C); /* Objects. */ + BKE_view_layer_synced_ensure(tvc->scene, tvc->view_layer); tvc->obact = BKE_view_layer_active_object_get(tvc->view_layer); if (tvc->obact != nullptr) { tvc->ob_edit = OBEDIT_FROM_OBACT(tvc->obact); @@ -452,6 +453,7 @@ using namespace blender::ed::outliner; Base *ED_outliner_give_base_under_cursor(bContext *C, const int mval[2]) { ARegion *region = CTX_wm_region(C); + const Scene *scene = CTX_data_scene(C); ViewLayer *view_layer = CTX_data_view_layer(C); SpaceOutliner *space_outliner = CTX_wm_space_outliner(C); TreeElement *te; @@ -465,6 +467,7 @@ Base *ED_outliner_give_base_under_cursor(bContext *C, const int mval[2]) TreeStoreElem *tselem = TREESTORE(te); if ((tselem->type == TSE_SOME_ID) && (te->idcode == ID_OB)) { Object *ob = (Object *)tselem->id; + BKE_view_layer_synced_ensure(scene, view_layer); base = (te->directdata) ? (Base *)te->directdata : BKE_view_layer_base_find(view_layer, ob); } } |