340f9d7ff31f1bf1dce92485d2aa1e322b7ad472
Instead of modifying the active mesh in place, which means we can't use the size of its data arrays when copying its data, and its caches are immediately invalidated, copy data to a separate out-of-main result mesh first. The only downside is that for a moment during the operator the shape key array sizes will be out of sync with the mesh size. Also the custom data for multires layers wasn't copied properly after the recent refactor that rewrote this code. Take the opportunity to fix that too. The motivation for this change is an improvement to copy different kinds of custom normals properly to the joined mesh, which never worked since free custom normals were introduced. This contains a few changes to the expected results in the tests. Those are edge cases, and the new results make more sense.
…
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%
