[Bf-blender-cvs] [13e3a1c5322] blender-v2.83-release: Fix T75969: view layer add with Copy Settings does not copy all data

Brecht Van Lommel noreply at git.blender.org
Tue Apr 21 19:59:49 CEST 2020


Commit: 13e3a1c53222a65f652d454f665d9e44178cf9a5
Author: Brecht Van Lommel
Date:   Tue Apr 21 19:51:29 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB13e3a1c53222a65f652d454f665d9e44178cf9a5

Fix T75969: view layer add with Copy Settings does not copy all data

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

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

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

diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index f6e80d66ad1..0eaf7cf2f41 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -210,8 +210,9 @@ ViewLayer *BKE_view_layer_add(Scene *scene,
     case VIEWLAYER_ADD_COPY: {
       /* Allocate and copy view layer data */
       view_layer_new = MEM_callocN(sizeof(ViewLayer), "View Layer");
-      BLI_addtail(&scene->view_layers, view_layer_new);
+      *view_layer_new = *view_layer_source;
       BKE_view_layer_copy_data(scene, scene, view_layer_new, view_layer_source, 0);
+      BLI_addtail(&scene->view_layers, view_layer_new);
 
       BLI_strncpy_utf8(view_layer_new->name, name, sizeof(view_layer_new->name));
       break;
@@ -467,6 +468,10 @@ void BKE_view_layer_copy_data(Scene *scene_dst,
 
   LayerCollection *lc_scene_dst = view_layer_dst->layer_collections.first;
   lc_scene_dst->collection = scene_dst->master_collection;
+
+  if ((flag & LIB_ID_CREATE_NO_USER_REFCOUNT) == 0) {
+    id_us_plus((ID *)view_layer_dst->mat_override);
+  }
 }
 
 void BKE_view_layer_rename(Main *bmain, Scene *scene, ViewLayer *view_layer, const char *newname)



More information about the Bf-blender-cvs mailing list