Blender Git Commit Log

Git Commits -> Revision 33c5e7b

Revision 33c5e7b by Bastien Montagne (master)
November 19, 2021, 14:41 (GMT)
LibOverrides: Refactor how diffing of RNA collections is handled.

Original implementation was a quick prototype which should have never
landed as-is in master. It had very limiting constraints and did not
allow for any real further development.

This commit fixes the internal implementation to make more sensible,
maintainable and evolutive.

NOTE: This commit introduces another forward-incompatibility in the
Blender file format: Files saved after this commit won't open properly
in older versions of blender regarding local inserted constraints or
modifiers into overrides of linked data.

NOTE: Technical details: The 'anchor' item name/index is now stored in
`subitem_reference_` members, and the actual 'source' item name/index is
stored in `subitem_local_` members of the override property operation
Previously, only the `subitem_local_` members were used, storing the
anchor item name/index, and assuming the 'source' item was always the
next in the list.

Milestone I of T82160.

Maniphest Tasks: T82160

Differential Revision:

Commit Details:

Full Hash: 33c5e7bcd5e5b790ee95caaa0c4d917996341266
Parent Commit: d6ea881
Lines Changed: +232, -100

7 Modified Paths:

/source/blender/blenkernel/BKE_blender_version.h (+2, -2) (Diff)
/source/blender/blenloader/intern/versioning_300.c (+166, -10) (Diff)
/source/blender/makesdna/DNA_ID.h (+8, -4) (Diff)
/source/blender/makesrna/intern/rna_animation.c (+6, -4) (Diff)
/source/blender/makesrna/intern/rna_object.c (+33, -57) (Diff)
/source/blender/makesrna/intern/rna_pose.c (+9, -20) (Diff)
/source/blender/makesrna/intern/rna_rna.c (+8, -3) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021