[Bf-blender-cvs] [29deaaee007] soc-2021-uv-edge-select-support: Fix: Deselecting edges in sticky vertex mode
Siddhartha Jejurkar
noreply at git.blender.org
Sat Sep 11 11:58:44 CEST 2021
Commit: 29deaaee007faaa9a42a73d29dc1b15f330e745b
Author: Siddhartha Jejurkar
Date: Sat Sep 11 15:25:40 2021 +0530
Branches: soc-2021-uv-edge-select-support
https://developer.blender.org/rB29deaaee007faaa9a42a73d29dc1b15f330e745b
Fix: Deselecting edges in sticky vertex mode
Fixes the bug where deselecting an UV edge in sticky vertex mode would
deselect the UV vertices as well.
===================================================================
M source/blender/editors/uvedit/uvedit_select.c
===================================================================
diff --git a/source/blender/editors/uvedit/uvedit_select.c b/source/blender/editors/uvedit/uvedit_select.c
index 98fa6753b61..14480acff9f 100644
--- a/source/blender/editors/uvedit/uvedit_select.c
+++ b/source/blender/editors/uvedit/uvedit_select.c
@@ -457,12 +457,24 @@ void uvedit_edge_select_set_with_sticky(const struct SpaceImage *sima,
if (uvedit_face_visible_test(scene, l_radial_iter->f)) {
uvedit_edge_select_set(scene, em, l_radial_iter, select, do_history, cd_loop_uv_offset);
- uvedit_uv_select_shared_location(
- scene, em, l_radial_iter, select, false, do_history, cd_loop_uv_offset);
- uvedit_uv_select_shared_location(
- scene, em, l_radial_iter->next, select, false, do_history, cd_loop_uv_offset);
+ if (select) {
+ uvedit_uv_select_shared_location(
+ scene, em, l_radial_iter, select, false, do_history, cd_loop_uv_offset);
+ uvedit_uv_select_shared_location(
+ scene, em, l_radial_iter->next, select, false, do_history, cd_loop_uv_offset);
+ }
+ else {
+ if (!uvedit_vert_is_any_other_edge_selected(scene, l_radial_iter, cd_loop_uv_offset)) {
+ uvedit_uv_select_shared_location(
+ scene, em, l_radial_iter, select, false, do_history, cd_loop_uv_offset);
+ }
+ if (!uvedit_vert_is_any_other_edge_selected(
+ scene, l_radial_iter->next, cd_loop_uv_offset)) {
+ uvedit_uv_select_shared_location(
+ scene, em, l_radial_iter->next, select, false, do_history, cd_loop_uv_offset);
+ }
+ }
}
-
} while ((l_radial_iter = l_radial_iter->radial_next) != l);
break;
}
More information about the Bf-blender-cvs
mailing list