Commit: 9813778a2de1d942568f63cc7de591e2241f885c
Author: Bastien Montagne
Date:   Thu Aug 13 17:41:33 2020 +0200
Branches: blender-v2.90-release
https://developer.blender.org/rB9813778a2de1d942568f63cc7de591e2241f885c

Fix T79591: Liboverride: do not update overrides on missing linked data.

It makes no sense to generate/update overrides from missing (broken
linked) reference data, just keep existing ones unchanged then.

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

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 2989c910c45..6929d3a3c4b 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -1147,7 +1147,15 @@ void 
BKE_lib_override_library_main_operations_create(Main *bmain, const bool for
   FOREACH_MAIN_ID_BEGIN (bmain, id) {
     if (ID_IS_OVERRIDE_LIBRARY_REAL(id) &&
         (force_auto || (id->tag & LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH))) {
-      BLI_task_pool_push(task_pool, lib_override_library_operations_create_cb, 
id, false, NULL);
+      /* Only check overrides if we do have the real reference data available, 
and not some empty
+       * 'placeholder' for missing data (broken links). */
+      if ((id->override_library->reference->tag & LIB_TAG_MISSING) == 0) {
+        BLI_task_pool_push(task_pool, 
lib_override_library_operations_create_cb, id, false, NULL);
+      }
+      else {
+        BKE_lib_override_library_properties_tag(
+            id->override_library, IDOVERRIDE_LIBRARY_TAG_UNUSED, false);
+      }
     }
     id->tag &= ~LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH;
   }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to