[Bf-blender-cvs] [dd5f69e251f] temp-dynamic-overrides: Fix readfile for affected collections

Dalai Felinto noreply at git.blender.org
Mon May 28 21:56:52 CEST 2018


Commit: dd5f69e251fd66893b55346578738a84e0da01b1
Author: Dalai Felinto
Date:   Mon May 28 02:17:42 2018 +0200
Branches: temp-dynamic-overrides
https://developer.blender.org/rBdd5f69e251fd66893b55346578738a84e0da01b1

Fix readfile for affected collections

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

M	source/blender/blenloader/intern/readfile.c

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 7763234b850..c491abd9125 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -5609,12 +5609,6 @@ static void direct_link_view_layer(FileData *fd, ViewLayer *view_layer)
 	link_list(fd, &(view_layer->override_sets));
 	for (OverrideSet *override_set = view_layer->override_sets.first; override_set; override_set = override_set->next) {
 		link_list(fd, &override_set->affected_collections);
-		for (AffectedCollection *affected = override_set->affected_collections.first;
-		     affected != NULL;
-		     affected = affected->next)
-		{
-			affected->collection = newdataadr(fd, affected->collection);
-		}
 		link_list(fd, &override_set->scene_properties);
 		direct_link_dynamic_properties(fd, &override_set->scene_properties);
 		link_list(fd, &override_set->collection_properties);
@@ -5674,6 +5668,18 @@ static void lib_link_view_layer(FileData *fd, Library *lib, ViewLayer *view_laye
 	for (OverrideSet *override_set = view_layer->override_sets.first; override_set; override_set = override_set->next) {
 		lib_link_dynamic_properties(fd, lib, &override_set->scene_properties);
 		lib_link_dynamic_properties(fd, lib, &override_set->collection_properties);
+
+		for (AffectedCollection *affected = override_set->affected_collections.first, *affected_next = NULL;
+		     affected != NULL;
+		     affected = affected_next)
+		{
+			affected_next = affected->next;
+			affected->collection = newlibadr(fd, lib, affected->collection);
+
+			if (affected->collection == NULL) {
+				BLI_freelinkN(&override_set->affected_collections, affected);
+			}
+		}
 	}
 
 	IDP_LibLinkProperty(view_layer->id_properties, fd);



More information about the Bf-blender-cvs mailing list