[Bf-blender-cvs] [ed5507de8a2] master: LibOverride: Fix resync bug on recursive overrides.

Bastien Montagne noreply at git.blender.org
Sat Apr 10 18:38:51 CEST 2021


Commit: ed5507de8a25b847771e8dcc1c123ac58cad3445
Author: Bastien Montagne
Date:   Sat Apr 10 18:36:43 2021 +0200
Branches: master
https://developer.blender.org/rBed5507de8a25b847771e8dcc1c123ac58cad3445

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.

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

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

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

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



More information about the Bf-blender-cvs mailing list