diff options
Diffstat (limited to 'source/blender/editors/render/render_preview.cc')
-rw-r--r-- | source/blender/editors/render/render_preview.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/editors/render/render_preview.cc b/source/blender/editors/render/render_preview.cc index c97d5f3cbc8..10de7063bbc 100644 --- a/source/blender/editors/render/render_preview.cc +++ b/source/blender/editors/render/render_preview.cc @@ -307,7 +307,8 @@ static void switch_preview_floor_visibility(Main *pr_main, const ePreviewRenderMethod pr_method) { /* Hide floor for icon renders. */ - LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) { + BKE_view_layer_synced_ensure(scene, view_layer); + LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer)) { if (STREQ(base->object->id.name + 2, "Floor")) { base->object->visibility_flag &= ~OB_HIDE_RENDER; if (pr_method == PR_ICON_RENDER) { @@ -533,8 +534,8 @@ static Scene *preview_prepare_scene( else { sce->display.render_aa = SCE_DISPLAY_AA_OFF; } - - LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) { + BKE_view_layer_synced_ensure(sce, view_layer); + LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer)) { if (base->object->id.name[2] == 'p') { /* copy over object color, in case material uses it */ copy_v4_v4(base->object->color, sp->color); @@ -586,7 +587,8 @@ static Scene *preview_prepare_scene( sce->world->horb = 0.0f; } - LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) { + BKE_view_layer_synced_ensure(sce, view_layer); + LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer)) { if (base->object->id.name[2] == 'p') { if (base->object->type == OB_LAMP) { base->object->data = la; @@ -825,6 +827,7 @@ static Scene *object_preview_scene_create(const struct ObjectPreviewData *previe scene->r.ysch = preview_data->sizey; scene->r.size = 100; + BKE_view_layer_synced_ensure(scene, view_layer); Base *preview_base = BKE_view_layer_base_find(view_layer, preview_data->object); /* For 'view selected' below. */ preview_base->flag |= BASE_SELECTED; |