Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2020-04-21 20:51:29 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-04-21 20:59:35 +0300
commit13e3a1c53222a65f652d454f665d9e44178cf9a5 (patch)
tree7e97d036e20e270aead624a6e37dde860f384e5f /source/blender/blenkernel/intern/layer.c
parentbc3aab3fa547e60d2361d5a50cdc79885bdc7355 (diff)
Fix T75969: view layer add with Copy Settings does not copy all data
Diffstat (limited to 'source/blender/blenkernel/intern/layer.c')
-rw-r--r--source/blender/blenkernel/intern/layer.c7
1 files changed, 6 insertions, 1 deletions
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)