4 Commits

Author SHA1 Message Date
Hans Goudey
5cf0076d7e Fix #148050: Mesh join crash with no faces in inputs
Pull Request: https://projects.blender.org/blender/blender/pulls/148066
2025-10-14 16:53:31 +02:00
Hans Goudey
340f9d7ff3 Refactor: Use separate result for mesh joining, fix multires data join
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.
2025-10-03 01:57:49 +02:00
Hans Goudey
4aae4a983a Tests: Add another mesh join test for recent report
Add a test for the case where the active mesh doesn't yet
have shape keys #147097.

Pull Request: https://projects.blender.org/blender/blender/pulls/147126
2025-10-01 16:45:02 +02:00
Hans Goudey
ea5bc15402 Tests: Add automated tests for mesh object joining
Basic tests for a few cases. Doesn't require a separte blend file.

Pull Request: https://projects.blender.org/blender/blender/pulls/145684
2025-09-21 19:11:27 +02:00