From 4c320e2639ef41f093a71f6843b40ab64bdd021b Mon Sep 17 00:00:00 2001 From: Monique Dewanchand Date: Sun, 16 Oct 2022 11:16:07 +0200 Subject: Fix T101394: Ensure all viewlayers on scene copy. When a scene copy is called, all viewlayers are ensured before they are copied. In case of multiple viewlayers, a viewlayer can be out of sync. This triggers an assert in the BKE_view_layer_copy_data. Reviewed By: mont29 Maniphest Tasks: T101394 Differential Revision: https://developer.blender.org/D16214 --- source/blender/blenkernel/intern/scene.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender') diff --git a/source/blender/blenkernel/intern/scene.cc b/source/blender/blenkernel/intern/scene.cc index fc47fb71bf3..bd26075f81f 100644 --- a/source/blender/blenkernel/intern/scene.cc +++ b/source/blender/blenkernel/intern/scene.cc @@ -280,6 +280,9 @@ static void scene_copy_data(Main *bmain, ID *id_dst, const ID *id_src, const int } /* View Layers */ + LISTBASE_FOREACH (ViewLayer *, view_layer, &scene_src->view_layers) { + BKE_view_layer_synced_ensure(scene_src, view_layer); + } BLI_duplicatelist(&scene_dst->view_layers, &scene_src->view_layers); for (ViewLayer *view_layer_src = static_cast(scene_src->view_layers.first), *view_layer_dst = static_cast(scene_dst->view_layers.first); -- cgit v1.2.3