Files
test/source
Hans Goudey 734e9fa4b8 Fix: MEM_new/MEM_freeN mismatch in edit mesh undo
For non-trivial custom data types, the undo system did a shallow copy of the
base array which implicitly transferred ownership of the data to the undo
system. Combined with implicit sharing, this was hacky at best, and quite
wrong at worst, since it freed the implicit sharing info incorrectly.

To fix this, free the mesh custom data with the standard function for that
and add the non-trivial layers to the undo state using implicit sharing to
avoid another copy.

Alternative to #123894 and #123884.

Pull Request: https://projects.blender.org/blender/blender/pulls/123991
2024-07-03 15:32:05 +02:00
..