From ed5507de8a25b847771e8dcc1c123ac58cad3445 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Sat, 10 Apr 2021 18:36:43 +0200 Subject: LibOverride: Fix resync bug on recursive overrides. Linked override were not properly ignored in some part of the code, leading to invalid resync results in some cases with recursive overrides (i.e. overrides of overrides). Reported by Andy @eyecandy from the studio. --- source/blender/blenkernel/intern/lib_override.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c index eac9e760ae5..7412f6a5a0c 100644 --- a/source/blender/blenkernel/intern/lib_override.c +++ b/source/blender/blenkernel/intern/lib_override.c @@ -895,7 +895,7 @@ bool BKE_lib_override_library_resync(Main *bmain, BLI_ghashutil_ptrhash, BLI_ghashutil_ptrcmp, __func__); ID *id; FOREACH_MAIN_ID_BEGIN (bmain, id) { - if (id->tag & LIB_TAG_DOIT && ID_IS_OVERRIDE_LIBRARY_REAL(id)) { + if (id->tag & LIB_TAG_DOIT && !ID_IS_LINKED(id) && ID_IS_OVERRIDE_LIBRARY_REAL(id)) { /* While this should not happen in typical cases (and won't be properly supported here), user * is free to do all kind of very bad things, including having different local overrides of a * same linked ID in a same hierarchy. */ -- cgit v1.2.3