Fix T95601: Missing handling of keyingsets ID pointers in lib_query/foreach_id code

Fix T95601: Missing handling of keyingsets ID pointers in lib_query/foreach_id code.
This will have to be backported to 2.93 and possibly 2.83 if possible.
This commit is contained in:
Bastien Montagne 2022-02-22 11:53:02 +01:00 committed by Philipp Oeser
parent 4f16dad6b3
commit ff05921099
Notes: blender-bot 2023-02-14 06:55:40 +01:00
Referenced by issue #95601, Keying sets for armatures in library overrides break if unrelated objects are changed in source file
Referenced by issue #77348, Blender LTS: Maintenance Task 2.83
1 changed files with 6 additions and 0 deletions

View File

@ -664,6 +664,12 @@ static void library_foreach_ID_link(Main *bmain,
SEQ_END;
}
for (KeyingSet *ksn = scene->keyingsets.first; ksn; ksn = ksn->next) {
for (KS_Path *kspn = ksn->paths.first; kspn; kspn = kspn->next) {
CALLBACK_INVOKE_ID(kspn->id, IDWALK_CB_NOP);
}
}
/* This pointer can be NULL during old files reading, better be safe than sorry. */
if (scene->master_collection != NULL) {
library_foreach_collection(&data, scene->master_collection);