[Bf-blender-cvs] [4c320e2639e] master: Fix T101394: Ensure all viewlayers on scene copy.
Monique Dewanchand
noreply at git.blender.org
Sun Oct 16 11:24:08 CEST 2022
Commit: 4c320e2639ef41f093a71f6843b40ab64bdd021b
Author: Monique Dewanchand
Date: Sun Oct 16 11:16:07 2022 +0200
Branches: master
https://developer.blender.org/rB4c320e2639ef41f093a71f6843b40ab64bdd021b
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
===================================================================
M source/blender/blenkernel/intern/scene.cc
===================================================================
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<ViewLayer *>(scene_src->view_layers.first),
*view_layer_dst = static_cast<ViewLayer *>(scene_dst->view_layers.first);
More information about the Bf-blender-cvs
mailing list