Fix (unreported) missing 'need resync' detection in overrides of overrides.
In case the reference data of a liboverride is aslo a liboverride, and is already tagged for resync, the override of the override also needs to be resynced. Note that linked overrides are guaranteed to be processed by apply code (and hence get checked for needed resync) before the liboverrides using them.
This commit is contained in:
parent
cc34a0ae2e
commit
f32f775e5b
|
@ -1271,7 +1271,21 @@ static void rna_property_override_check_resync(Main *bmain,
|
|||
if (ID_IS_LINKED(id_owner_src)) {
|
||||
id_owner_src->lib->tag |= LIBRARY_TAG_RESYNC_REQUIRED;
|
||||
}
|
||||
CLOG_INFO(&LOG, 3, "Local override %s detected as needing resync", id_owner_dst->name);
|
||||
CLOG_INFO(&LOG,
|
||||
3,
|
||||
"Local override %s detected as needing resync due to mismatch in its used IDs",
|
||||
id_owner_dst->name);
|
||||
}
|
||||
if ((id_owner_src->override_library->reference->tag & LIB_TAG_LIBOVERRIDE_NEED_RESYNC) != 0) {
|
||||
id_owner_dst->tag |= LIB_TAG_LIBOVERRIDE_NEED_RESYNC;
|
||||
if (ID_IS_LINKED(id_owner_src)) {
|
||||
id_owner_src->lib->tag |= LIBRARY_TAG_RESYNC_REQUIRED;
|
||||
}
|
||||
CLOG_INFO(&LOG,
|
||||
3,
|
||||
"Local override %s detected as needing resync as its liboverride reference is "
|
||||
"already tagged for resync",
|
||||
id_owner_dst->name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue