[Bf-blender-cvs] [1703e652a0a] temp-lineart-contained: LibOverride: Do not tag overrides for complete recalc.

Bastien Montagne noreply at git.blender.org
Sat Dec 19 06:18:53 CET 2020


Commit: 1703e652a0a27b0e0f4dd8f0fc8683e0a8c9e95a
Author: Bastien Montagne
Date:   Fri Nov 13 14:16:01 2020 +0100
Branches: temp-lineart-contained
https://developer.blender.org/rB1703e652a0a27b0e0f4dd8f0fc8683e0a8c9e95a

LibOverride: Do not tag overrides for complete recalc.

This was done as some sort of safety, but should not actually be needed,
and including tags like `ID_RECALC_POINT_CACHE` e.g. makes usage of
point caches impossible with liboverrides (since it would systematically
invalidate all cache on file load).

In theory we should not have to tag anything here in fact, RNA accessors
are supposed to take care of it, but for now we keep the
`ID_RECALC_COPY_ON_WRITE` one.

Part of first step of T82503: support disk cache in liboverrides.

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

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 8825d71fc3c..e6f0e5e1199 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -1801,7 +1801,7 @@ void BKE_lib_override_library_update(Main *bmain, ID *local)
   /* Full rebuild of Depsgraph! */
   /* Note: this is really brute force, in theory updates from RNA should have handled this already,
    * but for now let's play it safe. */
-  DEG_id_tag_update_ex(bmain, local, ID_RECALC_ALL);
+  DEG_id_tag_update_ex(bmain, local, ID_RECALC_COPY_ON_WRITE);
   DEG_relations_tag_update(bmain);
 }



More information about the Bf-blender-cvs mailing list