line commented out with the orange merge is needed for library linking when linking in objects that indirectly point to groups that are already directly linked in. This has been a problem for many peach scenes. but saving and reloading made the objects appear.

This commit is contained in:
2008-03-13 21:41:28 +00:00
parent 6e24c23176
commit 2c78254f96

View File

@@ -7789,7 +7789,12 @@ static void expand_doit(FileData *fd, Main *mainvar, void *old)
ptr->curlib->parent= mainvar->curlib;
}
else {
//oldnewmap_insert(fd->libmap, bhead->old, id, 1);
/* The line below was commented by Ton (I assume), when Hos did the merge from the orange branch. rev 6568
* This line is NEEDED, the case is that you have 3 blend files...
* user.blend, lib.blend and lib_indirect.blend - if user.blend alredy references a "tree" from
* lib_indirect.blend but lib.blend does too, linking in a Scene or Group from lib.blend can result in an
* empty without the dupli group referenced. Once you save and reload the group would appier. - Campbell */
oldnewmap_insert(fd->libmap, bhead->old, id, 1);
change_idid_adr_fd(fd, bhead->old, id);
if(G.f & G_DEBUG) printf("expand_doit: already linked: %s lib: %s\n", id->name, lib->name);