diff options
author | mano-wii <germano.costa@ig.com.br> | 2020-01-16 15:14:27 +0300 |
---|---|---|
committer | mano-wii <germano.costa@ig.com.br> | 2020-01-16 15:14:27 +0300 |
commit | 9a6551543b92d54e7d565570988271e461104a89 (patch) | |
tree | 3975ed1ac99a8590a55675be85e6403c7e8d31ff /source | |
parent | 3ee6d74f933aa5779ffe8a4da348f07a23cc034e (diff) |
Fix crash with Proportional Edit Connected in UV editing
Caused by rB86a2ffc3ab32
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/transform/transform_convert_mesh.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/source/blender/editors/transform/transform_convert_mesh.c b/source/blender/editors/transform/transform_convert_mesh.c index 006f913f218..5d3d1d936a2 100644 --- a/source/blender/editors/transform/transform_convert_mesh.c +++ b/source/blender/editors/transform/transform_convert_mesh.c @@ -1451,7 +1451,8 @@ void createTransUVs(bContext *C, TransInfo *t) if (is_prop_connected || is_island_center) { /* create element map with island information */ const bool use_facesel = (ts->uv_flag & UV_SYNC_SELECTION) == 0; - elementmap = BM_uv_element_map_create(em->bm, scene, use_facesel, true, false, true); + const bool use_uvsel = !is_prop_connected; + elementmap = BM_uv_element_map_create(em->bm, scene, use_facesel, use_uvsel, false, true); if (elementmap == NULL) { continue; } @@ -1547,16 +1548,17 @@ void createTransUVs(bContext *C, TransInfo *t) if (is_prop_connected || is_island_center) { UvElement *element = BM_uv_element_get(elementmap, efa, l); - - if (is_prop_connected) { - if (!BLI_BITMAP_TEST(island_enabled, element->island)) { - count_rejected++; - continue; + if (element) { + if (is_prop_connected) { + if (!BLI_BITMAP_TEST(island_enabled, element->island)) { + count_rejected++; + continue; + } } - } - if (is_island_center) { - center = island_center[element->island].co; + if (is_island_center) { + center = island_center[element->island].co; + } } } |