Fix T70778: Library Override dissabled after re-instancing same collection in different scene.
Very stupid mistake in own new generic ID lib_link function, that would try to link ID pointers for all data-blocks, not only those actually needing it.
This commit is contained in:
parent
76be5b5bf5
commit
8c695404a4
Notes:
blender-bot
2023-02-14 00:30:24 +01:00
Referenced by issue #70778, Library Override dissabled after re-instancing same collection in different scene.
|
@ -2618,10 +2618,13 @@ static void lib_link_id(FileData *fd, Main *main)
|
|||
ID *id;
|
||||
|
||||
for (id = lb->first; id; id = id->next) {
|
||||
if (id->override_library) {
|
||||
id->override_library->reference = newlibadr_us(
|
||||
fd, id->lib, id->override_library->reference);
|
||||
id->override_library->storage = newlibadr_us(fd, id->lib, id->override_library->storage);
|
||||
if (id->tag & LIB_TAG_NEED_LINK) {
|
||||
if (id->override_library) {
|
||||
id->override_library->reference = newlibadr_us(
|
||||
fd, id->lib, id->override_library->reference);
|
||||
id->override_library->storage = newlibadr_us(fd, id->lib, id->override_library->storage);
|
||||
}
|
||||
/* DO NOT clear LIB_TAG_NEED_LINK here, it is used again by per-ID-type linkers. */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue