Fix #116239: Propagate to Shapes overwrites all vertices with mirroring #116329

Merged
Philipp Oeser merged 1 commits from lichtwerk/blender:116239 into main 2023-12-19 12:35:08 +01:00

1 Commits

Author SHA1 Message Date
Philipp Oeser 3b61cbc78f Fix #116239: Propagate to Shapes overwrites all vertices with mirroring
Since 4d0dbab5b1, `EDBM_verts_mirror_cache` is used to find mirror
verts (but this was initialized with `use_select` being `true`, so the
cache was only set up for selected verts). `EDBM_verts_mirror_get`
behaves in a way that if you then query a vert that does not have a true
mirror, it would always return the vert with index zero in this case (so
basically would look like the index zero vert is the mirror for verts
not covered in the cache). Now if that zero index vert happened to be
selected, verts would not be skipped and the whole mesh would be
overwritten.

To solve this, we need to initialize the `EDBM_verts_mirror_cache` with
`use_select` being `false` -- this way all verts are covered and we
always get back the true mirror (checking selection on that one is fine
then and everything behaves as expected).
2023-12-19 11:39:12 +01:00