From 9813778a2de1d942568f63cc7de591e2241f885c Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 13 Aug 2020 17:41:33 +0200 Subject: 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. --- source/blender/blenkernel/intern/lib_override.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'source/blender') 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; } -- cgit v1.2.3