Blender Git Commit Log

Git Commits -> Revision b616c52

Revision b616c52 by Bastien Montagne (master)
May 5, 2021, 10:51 (GMT)
LibOverride/LibQuery: Refactor 'non-overridable' status management.

Move the detection/decision of whether an ID pointer should be taken
into account in library override hierarchy processing to the LibQuery
area of code, by introducing a new callback flag.

This allows to factorize the test logic, be explicit in liboverride code
about ID relationships that can be ignored when exploring the override
hierarchy, and adds the possibility to do more checks about pointers to
be tagged as non-overridable in the future.

Note that all but the 'special' ID pointers (loop-back, embedded, etc.)
should be overridable. If some is not, relevant IDType 'foreach_id'
callback code is reponsible to tag it properly.

Python-defined IDProperties however are not systematicaly overridable
(yet), so this should allow us to detect that case and act accordingly
in an incomming commit.

No behavioral change expected in this commit.

Commit Details:

Full Hash: b616c522d9b395d3b14059c276e4b4ab4cb82c63
Parent Commit: f7a14b2
Lines Changed: +27, -16

3 Modified Paths:

/source/blender/blenkernel/BKE_lib_query.h (+4, -1) (Diff)
/source/blender/blenkernel/intern/lib_override.c (+4, -8) (Diff)
/source/blender/blenkernel/intern/lib_query.c (+19, -7) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021