Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormano-wii <germano.costa@ig.com.br>2020-01-16 15:14:27 +0300
committermano-wii <germano.costa@ig.com.br>2020-01-16 15:14:27 +0300
commit9a6551543b92d54e7d565570988271e461104a89 (patch)
tree3975ed1ac99a8590a55675be85e6403c7e8d31ff /source/blender/editors/transform/transform_convert_mesh.c
parent3ee6d74f933aa5779ffe8a4da348f07a23cc034e (diff)
Fix crash with Proportional Edit Connected in UV editing
Caused by rB86a2ffc3ab32
Diffstat (limited to 'source/blender/editors/transform/transform_convert_mesh.c')
-rw-r--r--source/blender/editors/transform/transform_convert_mesh.c20
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;
+ }
}
}