diff options
author | Bastien Montagne <bastien@blender.org> | 2021-06-03 17:44:20 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2021-06-03 17:44:20 +0300 |
commit | ed6fd01ba9cbf4bd7f121ce7be5406c533fd49c2 (patch) | |
tree | 2714b66ae66980ff44aa479ad85512ca5accf4ba /source/blender/blenkernel/intern | |
parent | 826bed4349fa2adb8d0fccbb192a3e550030a28d (diff) |
LibOverride: fix previous commit (rB826bed4349fa).
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/lib_override.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c index 80c544f8e5c..beae8b59db4 100644 --- a/source/blender/blenkernel/intern/lib_override.c +++ b/source/blender/blenkernel/intern/lib_override.c @@ -1354,16 +1354,17 @@ static void lib_override_resync_tagging_finalize_recurse(Main *bmain, for (MainIDRelationsEntryItem *entry_item = entry->from_ids; entry_item != NULL; entry_item = entry_item->next) { - if (entry_item->usage_flag & IDWALK_CB_OVERRIDE_LIBRARY_NOT_OVERRIDABLE) { + if (entry_item->usage_flag & + (IDWALK_CB_OVERRIDE_LIBRARY_NOT_OVERRIDABLE | IDWALK_CB_LOOPBACK)) { continue; } ID *id_from = entry_item->id_pointer.from; /* Case where this ID pointer was to a linked ID, that now needs to be overridden. */ - if (ID_IS_OVERRIDE_LIBRARY_REAL(id_from) && id_from->lib == id->lib) { + if (id_from != id && ID_IS_OVERRIDE_LIBRARY_REAL(id_from) && id_from->lib == id->lib) { id_from->tag |= LIB_TAG_LIB_OVERRIDE_NEED_RESYNC; CLOG_INFO(&LOG, - 3, + 4, "ID %s (%p) now tagged as needing resync because they use %s (%p) that needs to " "be overridden", id_from->name, @@ -1372,7 +1373,6 @@ static void lib_override_resync_tagging_finalize_recurse(Main *bmain, id->lib); lib_override_resync_tagging_finalize_recurse(bmain, id_from, library_indirect_level); } - break; } } |