5bfe6ad8f8ce5b6b7fcfdaa011ff1e9d7c75f429
This PR fixes several issues with the versioning that replaces the old auto smooth flag with a modifier. One issue is that the flag wasn't cleared in the initial versioning code. That means some objects have the replacement modifier but their meshes still have the flag set. The fix for that is to make the versioning idempotent by trying to find an existing node group before adding a new one. The versioning is now re-run on all objects to clear the flags. Flags on all meshes are cleared too, even unused meshes. That could cause loss of the auto-smooth when the mesh is linked from a different blend-file, but that situation should be very rare. Another issue was that the versioning wasn't run when linking objects. That was simple to solve by adding the versioning where the proxy versioning already existed for that case. Finally, arguably the largest issue was that the the newly added node groups were always added as local data-blocks. When linking, having library data-blocks point to local data-blocks not in that library is quite bad and breaks assumptions around Blender. This is solved by having an auto smooth node group per library. Resolves #119516, #119455, #119447 Pull Request: https://projects.blender.org/blender/blender/pulls/119539
…
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
11%
C
6.3%
GLSL
2.2%
CMake
1.3%
Other
1.1%
