[Bf-blender-cvs] [5df8a6eb944] blender2.8: Correct fix for view center

Campbell Barton noreply at git.blender.org
Thu May 24 09:09:01 CEST 2018


Commit: 5df8a6eb9447a42cf6817e89543c5055e9aab225
Author: Campbell Barton
Date:   Thu May 24 09:04:25 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB5df8a6eb9447a42cf6817e89543c5055e9aab225

Correct fix for view center

The view layers active object was not being copied.

===================================================================

M	source/blender/blenkernel/intern/layer.c

===================================================================

diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index 648d5f02d4d..c6795ce8278 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -382,7 +382,15 @@ void BKE_view_layer_copy_data(
 	view_layer_dst->object_bases_hash = NULL;
 
 	/* Copy layer collections and object bases. */
-	BLI_duplicatelist(&view_layer_dst->object_bases, &view_layer_src->object_bases);
+	/* Inline 'BLI_duplicatelist' and update the active base. */
+	for (Base *base_src = view_layer_src->object_bases.first; base_src; base_src = base_src->next) {
+		Base *base_dst = MEM_dupallocN(base_src);
+		BLI_addtail(&view_layer_dst->object_bases, base_dst);
+		if (view_layer_src->basact == base_src) {
+			view_layer_dst->basact = base_dst;
+		}
+	}
+
 	layer_collections_copy_data(&view_layer_dst->layer_collections, &view_layer_src->layer_collections);
 
 	// TODO: not always safe to free BKE_layer_collection_sync(scene_dst, view_layer_dst);



More information about the Bf-blender-cvs mailing list