Blender Git Loki

Git Commits -> Revision 2a81d94

Revision 2a81d94 by Bastien Montagne (master)
January 25, 2021, 13:48 (GMT)
LibOverride: refactor of relationships handling in library overrides.

First step towards a better handling of relationships between IDs in
override context, especially when a resync is needed.

First, introduce a new flag to override operations,
`IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE`, for ID pointers.
It keeps track of whether an RNA ID pointer has been kept to its
'natural overriden ID' (in override hierarchy context), or has actually
been re-assigned to some other data-block.

Second, refactor how we deal with relationships between IDs in override
hierarchy code, especially in resync case. This will fixe several cases
listed in T83811, especially the case where an ID pointer to an existing
override needs to be updated to a new one due to a matching change in
linked data.

Commit Details:

Full Hash: 2a81d948ad00c5099ecdbdf2505c8732c99a1fba
Parent Commit: 5c490bc
Lines Changed: +202, -124

4 Modified Paths:

/source/blender/blenkernel/BKE_lib_override.h (+0, -9) (Diff)
/source/blender/blenkernel/intern/lib_override.c (+165, -114) (Diff)
/source/blender/makesdna/DNA_ID.h (+4, -0) (Diff)
/source/blender/makesrna/intern/rna_rna.c (+33, -1) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021