diff options
-rw-r--r-- | source/blender/blenkernel/BKE_layer.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/layer.c | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/blenkernel/BKE_layer.h b/source/blender/blenkernel/BKE_layer.h index da4f1a94042..2cd11db1699 100644 --- a/source/blender/blenkernel/BKE_layer.h +++ b/source/blender/blenkernel/BKE_layer.h @@ -58,7 +58,7 @@ struct SceneCollection; struct SceneLayer; struct SceneLayer *BKE_scene_layer_render_active(const struct Scene *scene); -struct SceneLayer *BKE_scene_layer_context_active(struct Scene *scene); +struct SceneLayer *BKE_scene_layer_context_active(const struct Scene *scene); struct SceneLayer *BKE_scene_layer_add(struct Scene *scene, const char *name); bool BKE_scene_layer_remove(struct Main *bmain, struct Scene *scene, struct SceneLayer *sl); diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 40c16f5fbff..454c1586ef3 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -54,6 +54,7 @@ #include "BKE_cdderivedmesh.h" #include "BKE_editmesh.h" #include "BKE_key.h" +#include "BKE_layer.h" #include "BKE_library.h" #include "BKE_material.h" #include "BKE_modifier.h" @@ -2677,7 +2678,8 @@ static void editbmesh_build_data(Scene *scene, Object *obedit, BMEditMesh *em, C static CustomDataMask object_get_datamask(const Scene *scene, Object *ob, bool *r_need_mapping) { - SceneLayer *sl = scene->render_layers.first; /* XXX TODO pass SceneLayer to this function */ + /* TODO(sergey): Avoid this linear list lookup. */ + SceneLayer *sl = BKE_scene_layer_context_active(scene); Object *actob = sl->basact ? sl->basact->object : NULL; CustomDataMask mask = ob->customdata_mask; diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c index a160bdb0df1..6107b6ca12b 100644 --- a/source/blender/blenkernel/intern/layer.c +++ b/source/blender/blenkernel/intern/layer.c @@ -78,7 +78,7 @@ SceneLayer *BKE_scene_layer_render_active(const Scene *scene) * Returns the SceneLayer to be used for drawing, outliner, and * other context related areas. */ -SceneLayer *BKE_scene_layer_context_active(Scene *scene) +SceneLayer *BKE_scene_layer_context_active(const Scene *scene) { /* waiting for workspace to get the layer from context*/ TODO_LAYER_CONTEXT; |