bf93fb0f46fb2397e289a00e8abb2d37ae9a1bc1
Code in charge of fixing invalid liboverride hierarchy roots would be too agressive in re-assigning new root in replacement of old one. When the invalid initial case was a 'low-level' type of ID (like a nodetree e.g.), it could 'contaminate' many valid data (objects etc.) and force them into its own local hierarchy. This commit fixes the issue by storing all 'processed as valid' IDs into a set, and ensuring that once an ID has been put into that set, its hierarchy root is not changed anymore. in other words, it changes the old behavior of 'last encountered hierarchy wins' to 'first encountered hierarchy wins'. Since higher-level types of IDs (like collections or objects) are processed first, this is the most logical behavior too.
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
