Fix: #117320: Correct selection in the UV Editor with Edge Selection and UV Sync #119629

Closed
rui-lin wants to merge 2 commits from rui-lin/blender:uv_edge_selection into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
1 changed files with 2 additions and 4 deletions

View File

@ -484,9 +484,7 @@ void BM_mesh_select_flush(BMesh *bm)
bool ok;
BM_ITER_MESH (e, &eiter, bm, BM_EDGES_OF_MESH) {
if (BM_elem_flag_test(e->v1, BM_ELEM_SELECT) && BM_elem_flag_test(e->v2, BM_ELEM_SELECT) &&
!BM_elem_flag_test(e, BM_ELEM_HIDDEN))
{
if (BM_elem_flag_test(e, BM_ELEM_SELECT) && !BM_elem_flag_test(e, BM_ELEM_HIDDEN)) {
Review

This breaks flushing vertex to edge selection. It also doesn't make sense to select the edge only if it's already selected.

This breaks flushing vertex to edge selection. It also doesn't make sense to select the edge only if it's already selected.
BM_elem_flag_enable(e, BM_ELEM_SELECT);
}
}
@ -495,7 +493,7 @@ void BM_mesh_select_flush(BMesh *bm)
if (!BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
l_iter = l_first = BM_FACE_FIRST_LOOP(f);
do {
if (!BM_elem_flag_test(l_iter->v, BM_ELEM_SELECT)) {
if (!BM_elem_flag_test(l_iter->e, BM_ELEM_SELECT)) {
ok = false;
break;
}