Commit: 514f80b0c4f6375d1a01db1f2e32b495c23c17ca
Author: Bastien Montagne
Date:   Wed Jun 17 14:58:47 2020 +0200
Branches: master
https://developer.blender.org/rB514f80b0c4f6375d1a01db1f2e32b495c23c17ca

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...

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

M       source/blender/blenkernel/intern/lib_remap.c

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

diff --git a/source/blender/blenkernel/intern/lib_remap.c 
b/source/blender/blenkernel/intern/lib_remap.c
index ba986b1661b..d4246056efe 100644
--- a/source/blender/blenkernel/intern/lib_remap.c
+++ b/source/blender/blenkernel/intern/lib_remap.c
@@ -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);
     }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to