diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2020-11-30 18:45:47 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2020-12-02 14:35:51 +0300 |
commit | da8dc204bd062b2712869cf2709d2530915249b5 (patch) | |
tree | 64b16dc6410f025e06f165df11f084b701dde448 /source/blender | |
parent | e4204a3979c4ffba0f90dac1ba6a2cc72fde96c3 (diff) |
Fix T83119: Crash with topology mirror affecting a hidden vertex
Caused by rBba97da21acf2.
For non-topology mirror hidden verts were never respected/included in
EDBM_verts_mirror_cache_begin (they were excluded from the kdtree).
Prior to said commit, hidden mirrored verts that were still in the map
would have been excluded in a separate loop over vertices in
'editmesh_mirror_data_calc()' by checking BM_ELEM_HIDDEN. Due to the new
nature of this function this check was now moved to
EDBM_verts_mirror_cache_begin.
Maniphest Tasks: T83119
Differential Revision: https://developer.blender.org/D9673
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/mesh/editmesh_utils.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/mesh/editmesh_utils.c b/source/blender/editors/mesh/editmesh_utils.c index d7ed3dca1b1..6467df0e87b 100644 --- a/source/blender/editors/mesh/editmesh_utils.c +++ b/source/blender/editors/mesh/editmesh_utils.c @@ -1139,6 +1139,9 @@ void EDBM_verts_mirror_cache_begin_ex(BMEditMesh *em, if (use_topology) { v_mirr = cache_mirr_intptr_as_bmvert(mesh_topo_store.index_lookup, i); + if (respecthide && BM_elem_flag_test(v_mirr, BM_ELEM_HIDDEN)) { + v_mirr = NULL; + } } else { int i_mirr; |