Fix T64764: 'Reload' on linked libraries disconnects proxy armature datablocks.
Note that this only fixes the core issue reported (caused by own dummy mistake in rBd0df7fb3b94ea), investigating that report uncovered at leat two more issues, including a crasher (when reloading after an undo)...
This commit is contained in:
parent
b471e48c30
commit
5a3c44937f
Notes:
blender-bot
2023-02-14 10:48:33 +01:00
Referenced by issue #64764, 'Reload' on linked libraries disconnects proxy armature datablocks
|
@ -591,7 +591,7 @@ static void library_foreach_ID_link(Main *bmain,
|
|||
CALLBACK_INVOKE(object->parent, IDWALK_CB_NEVER_SELF);
|
||||
CALLBACK_INVOKE(object->track, IDWALK_CB_NEVER_SELF);
|
||||
/* object->proxy is refcounted, but not object->proxy_group... *sigh* */
|
||||
CALLBACK_INVOKE(object->proxy, IDWALK_CB_NEVER_SELF);
|
||||
CALLBACK_INVOKE(object->proxy, IDWALK_CB_USER | IDWALK_CB_NEVER_SELF);
|
||||
CALLBACK_INVOKE(object->proxy_group, IDWALK_CB_NOP);
|
||||
|
||||
/* Special case!
|
||||
|
|
|
@ -729,7 +729,10 @@ static void lib_relocate_do(Main *bmain,
|
|||
}
|
||||
if (new_id) {
|
||||
#ifdef PRINT_DEBUG
|
||||
printf("before remap, old_id users: %d, new_id users: %d\n", old_id->us, new_id->us);
|
||||
printf("before remap of %s, old_id users: %d, new_id users: %d\n",
|
||||
old_id->name,
|
||||
old_id->us,
|
||||
new_id->us);
|
||||
#endif
|
||||
BKE_libblock_remap_locked(bmain, old_id, new_id, remap_flags);
|
||||
|
||||
|
@ -739,7 +742,10 @@ static void lib_relocate_do(Main *bmain,
|
|||
}
|
||||
|
||||
#ifdef PRINT_DEBUG
|
||||
printf("after remap, old_id users: %d, new_id users: %d\n", old_id->us, new_id->us);
|
||||
printf("after remap of %s, old_id users: %d, new_id users: %d\n",
|
||||
old_id->name,
|
||||
old_id->us,
|
||||
new_id->us);
|
||||
#endif
|
||||
|
||||
/* In some cases, new_id might become direct link, remove parent of library in this case. */
|
||||
|
|
Loading…
Reference in New Issue