[Bf-blender-cvs] [720ea8a67df] master: Fix T89963: crash when library override is applied to an object from a linked scene.

Bastien Montagne noreply at git.blender.org
Thu Aug 5 15:34:10 CEST 2021


Commit: 720ea8a67df06ba2242e7771b349cefd753f7ea5
Author: Bastien Montagne
Date:   Thu Aug 5 14:59:31 2021 +0200
Branches: master
https://developer.blender.org/rB720ea8a67df06ba2242e7771b349cefd753f7ea5

Fix T89963: crash when library override is applied to an object from a linked scene.

LibOverride of scenes is not really supported currently, there are many
issues with it.

Will disable most user-accessible ways to create such overrides in a
following commit.

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

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 072304566e5..67ed7d1b394 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -1599,6 +1599,17 @@ static void lib_override_library_main_resync_on_library_indirect_level(
             (!ID_IS_LINKED(id) && library_indirect_level != 0)) {
           continue;
         }
+
+        /* We cannot resync a scene that is currently active. */
+        if (id == &scene->id) {
+          id->tag &= ~LIB_TAG_LIB_OVERRIDE_NEED_RESYNC;
+          BKE_reportf(reports->reports,
+                      RPT_WARNING,
+                      "Scene '%s' was not resynced as it is the currently active one",
+                      scene->id.name + 2);
+          continue;
+        }
+
         Library *library = id->lib;
 
         int level = 0;



More information about the Bf-blender-cvs mailing list