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:
authorDalai Felinto <dfelinto@gmail.com>2017-11-30 15:01:15 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-11-30 15:08:26 +0300
commit33d2535189a20fe147abeee8c752af3908fdd9eb (patch)
tree1c75f2bca9fdf8aa5c5488be9bea0452075b8fde /source/blender/blenkernel/intern/scene.c
parent69a7ece38928cd1602c8721db6193ba56febc7c0 (diff)
Layer: Copy layer collection properties when doing a full copy of scene
Diffstat (limited to 'source/blender/blenkernel/intern/scene.c')
-rw-r--r--source/blender/blenkernel/intern/scene.c12
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;
}