diff options
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.cc')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.cc b/source/blender/blenkernel/intern/DerivedMesh.cc index d7db0ad765c..0d07ea428bc 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.cc +++ b/source/blender/blenkernel/intern/DerivedMesh.cc @@ -1662,6 +1662,7 @@ static void object_get_datamask(const Depsgraph *depsgraph, CustomData_MeshMasks *r_mask, bool *r_need_mapping) { + Scene *scene = DEG_get_evaluated_scene(depsgraph); ViewLayer *view_layer = DEG_get_evaluated_view_layer(depsgraph); DEG_get_customdata_mask_for_object(depsgraph, ob, r_mask); @@ -1676,8 +1677,11 @@ static void object_get_datamask(const Depsgraph *depsgraph, return; } - Object *actob = view_layer->basact ? DEG_get_original_object(view_layer->basact->object) : - nullptr; + BKE_view_layer_synced_ensure(scene, view_layer); + Object *actob = BKE_view_layer_active_object_get(view_layer); + if (actob) { + actob = DEG_get_original_object(actob); + } if (DEG_get_original_object(ob) == actob) { bool editing = BKE_paint_select_face_test(actob); |