diff options
author | Bastien Montagne <bastien@blender.org> | 2021-05-28 16:33:04 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2021-05-28 16:33:04 +0300 |
commit | 97ccd592ce6cda32171054e28d36ea62a95afe64 (patch) | |
tree | 761c8c0b72556c0763a60517ad60ae0638216519 /source/blender/blenkernel/intern/lib_override.c | |
parent | 63e50cf265d6f17785ffdf0d0a7220237b054050 (diff) |
Fix crash in liboverride resync.
Reported by studio (@andy), thanks.
Diffstat (limited to 'source/blender/blenkernel/intern/lib_override.c')
-rw-r--r-- | source/blender/blenkernel/intern/lib_override.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c index 0e2317c72de..83bd2b6abb7 100644 --- a/source/blender/blenkernel/intern/lib_override.c +++ b/source/blender/blenkernel/intern/lib_override.c @@ -252,6 +252,13 @@ bool BKE_lib_override_library_is_user_edited(struct ID *id) return false; } + /* A bit weird, but those embedded IDs are handled by their owner ID anyway, so we can just + * assume they are never user-edited, actual proper detection will happen from their owner check. + */ + if (!ID_IS_OVERRIDE_LIBRARY_REAL(id)) { + return false; + } + LISTBASE_FOREACH (IDOverrideLibraryProperty *, op, &id->override_library->properties) { LISTBASE_FOREACH (IDOverrideLibraryPropertyOperation *, opop, &op->operations) { if ((opop->flag & IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE) != 0) { |