Fix (unreported) broken logic in BKE_libblock_relink_to_newid

Existing code would not follow as expected into new sub-IDs if they were
only encoutered once in usages by parent IDs...
This commit is contained in:
Bastien Montagne 2020-06-17 14:58:47 +02:00
parent 26c0ca3aa7
commit 514f80b0c4

@ -666,9 +666,10 @@ static int id_relink_to_newid_looper(LibraryIDLinkCallbackData *cb_data)
/* See: NEW_ID macro */
if (id->newid) {
BKE_library_update_ID_link_user(id->newid, id, cb_flag);
*id_pointer = id->newid;
id = id->newid;
*id_pointer = id;
}
else if (id->tag & LIB_TAG_NEW) {
if (id->tag & LIB_TAG_NEW) {
id->tag &= ~LIB_TAG_NEW;
BKE_libblock_relink_to_newid(id);
}