[Bf-blender-cvs] [dfb959b6c36] blender2.8: Fix missing ID pointers expansion for ID itself in readfile code.

Bastien Montagne noreply at git.blender.org
Thu May 24 14:56:55 CEST 2018


Commit: dfb959b6c36129b96abe66c39e57d90a07458716
Author: Bastien Montagne
Date:   Thu May 24 14:55:05 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBdfb959b6c36129b96abe66c39e57d90a07458716

Fix missing ID pointers expansion for ID itself in readfile code.

Was breaking static override chaining (static override of a linked
datablock that is already a static override in it original lib file).

Dummy mistake, thanks to @dfelinto for finding the bug.

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

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

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index f0c6d314c26..6541afb3e9e 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -9094,6 +9094,14 @@ static void expand_constraint_channels(FileData *fd, Main *mainvar, ListBase *ch
 	}
 }
 
+static void expand_id(FileData *fd, Main *mainvar, ID *id)
+{
+	if (id->override_static) {
+		expand_doit(fd, mainvar, id->override_static->reference);
+		expand_doit(fd, mainvar, id->override_static->storage);
+	}
+}
+
 static void expand_idprops(FileData *fd, Main *mainvar, IDProperty *prop)
 {
 	if (!prop)
@@ -9868,6 +9876,7 @@ void BLO_expand_main(void *fdhandle, Main *mainvar)
 			id = lbarray[a]->first;
 			while (id) {
 				if (id->tag & LIB_TAG_NEED_EXPAND) {
+					expand_id(fd, mainvar, id);
 					expand_idprops(fd, mainvar, id->properties);
 
 					switch (GS(id->name)) {



More information about the Bf-blender-cvs mailing list