diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-11-30 15:01:15 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-11-30 15:08:26 +0300 |
commit | 33d2535189a20fe147abeee8c752af3908fdd9eb (patch) | |
tree | 1c75f2bca9fdf8aa5c5488be9bea0452075b8fde /source/blender/blenkernel | |
parent | 69a7ece38928cd1602c8721db6193ba56febc7c0 (diff) |
Layer: Copy layer collection properties when doing a full copy of scene
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index d2218adb120..ca31eed6552 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -202,9 +202,19 @@ static void layer_collections_sync_flags(ListBase *layer_collections_dst, const const LayerCollection *layer_collection_src = (const LayerCollection *)layer_collections_src->first; while (layer_collection_dst != NULL) { layer_collection_dst->flag = layer_collection_src->flag; + + if (layer_collection_dst->properties != NULL) { + IDP_FreeProperty(layer_collection_dst->properties); + MEM_SAFE_FREE(layer_collection_dst->properties); + } + + if (layer_collection_src->properties != NULL) { + layer_collection_dst->properties = IDP_CopyProperty(layer_collection_src->properties); + } + layer_collections_sync_flags(&layer_collection_dst->layer_collections, &layer_collection_src->layer_collections); - /* TODO(sergey/dfelinto): Overrides. */ + layer_collection_dst = layer_collection_dst->next; layer_collection_src = layer_collection_src->next; } |