diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-04-21 20:51:29 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-04-21 20:59:35 +0300 |
commit | 13e3a1c53222a65f652d454f665d9e44178cf9a5 (patch) | |
tree | 7e97d036e20e270aead624a6e37dde860f384e5f /source/blender/blenkernel/intern/layer.c | |
parent | bc3aab3fa547e60d2361d5a50cdc79885bdc7355 (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.c | 7 |
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) |