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 data. 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: https://developer.blender.org/D13282 |
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)
/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)