diff options
author | Sam Kottler <dev@samkottler.net> | 2020-08-20 19:40:02 +0300 |
---|---|---|
committer | Sam Kottler <dev@samkottler.net> | 2020-08-20 19:40:02 +0300 |
commit | 9dd50b39a433dc09b634d70ca8533ad19b4d1d5e (patch) | |
tree | 96341c40a13f620aa7f6a92fd6783dc6883216b0 /source/blender/blenkernel/intern/lib_override.c | |
parent | 35624cdfe5186ee916e4519a013ef5c078d9c667 (diff) | |
parent | c74b4caa724bf74de41ba3928cdd824aa9ba59d2 (diff) |
Merge remote-tracking branch 'origin/blender-v2.90-release' into soc-2020-production-ready-light-tree-2soc-2020-production-ready-light-tree-2
Diffstat (limited to 'source/blender/blenkernel/intern/lib_override.c')
-rw-r--r-- | source/blender/blenkernel/intern/lib_override.c | 10 |
1 files changed, 9 insertions, 1 deletions
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; } |