[Bf-blender-cvs] [f76f48be23e] master: Fix (unreported) liboverride rules from linked data disapearing.

Bastien Montagne noreply at git.blender.org
Tue Mar 8 12:10:36 CET 2022


Commit: f76f48be23e04dbbbe313e428636cfcbcf2be59c
Author: Bastien Montagne
Date:   Tue Mar 8 12:08:21 2022 +0100
Branches: master
https://developer.blender.org/rBf76f48be23e04dbbbe313e428636cfcbcf2be59c

Fix (unreported) liboverride rules from linked data disapearing.

Code cleaning up no-more-needed override data during diffing process
would systematically remove override data from linked IDs.

While this is not a critical issue in theory, it has bad consequences at
the very least on user UI/UX, and potentially can cause bugs in some
corner-cases scenarii.

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

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 6a0f3bb5611..392af2c9f5b 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -2979,6 +2979,12 @@ bool BKE_lib_override_library_main_operations_create(Main *bmain, const bool for
             id->override_library, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
       }
     }
+    else {
+      /* Clear 'unused' tag for un-processed IDs, otherwise e.g. linked overrides will loose their
+       * list of overridden properties. */
+      BKE_lib_override_library_properties_tag(
+          id->override_library, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
+    }
     id->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH;
   }
   FOREACH_MAIN_ID_END;



More information about the Bf-blender-cvs mailing list