[Bf-blender-cvs] [f4abd3cfc43] master: Fix LibOverride crashing in some cases where reference linked data gets MIA.

Bastien Montagne noreply at git.blender.org
Tue Jul 27 17:41:21 CEST 2021


Commit: f4abd3cfc43cff5b0b8c1df85bf2983fbf45906a
Author: Bastien Montagne
Date:   Tue Jul 27 17:39:46 2021 +0200
Branches: master
https://developer.blender.org/rBf4abd3cfc43cff5b0b8c1df85bf2983fbf45906a

Fix LibOverride crashing in some cases where reference linked data gets MIA.

When the root of an override hierarchy disapears, there is no way to do
a proper resync, just abort.

Reported by studio, thx.

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

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 0ef9692f7e5..8b63594955f 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -1013,6 +1013,15 @@ bool BKE_lib_override_library_resync(Main *bmain,
 
   ID *id_root_reference = id_root->override_library->reference;
 
+  if (id_root_reference->tag & LIB_TAG_MISSING) {
+    BKE_reportf(reports != NULL ? reports->reports : NULL,
+                RPT_ERROR,
+                "impossible to resync data-block %s and its dependencies, as its linked reference "
+                "is missing",
+                id_root->name + 2);
+    return false;
+  }
+
   BKE_main_relations_create(bmain, 0);
   LibOverrideGroupTagData data = {.bmain = bmain,
                                   .scene = scene,



More information about the Bf-blender-cvs mailing list