diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2013-06-06 18:06:12 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2013-06-06 18:06:12 +0400 |
commit | ab87d4daec122aa7e060028c6838d854d4b837a4 (patch) | |
tree | 6bc6781d0affa1873f17d24bacf2a55b12167ea8 /source | |
parent | 5c0ca6e4bc9292bbf0714ee194212c62b6088e3a (diff) |
Fix #35651, #35645.
Hidden faces do not get UvElements generated so essentially this caused
a null point reference on edge lookup.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/uvedit/uvedit_smart_stitch.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/uvedit/uvedit_smart_stitch.c b/source/blender/editors/uvedit/uvedit_smart_stitch.c index 96d6c842ddb..3318ae72624 100644 --- a/source/blender/editors/uvedit/uvedit_smart_stitch.c +++ b/source/blender/editors/uvedit/uvedit_smart_stitch.c @@ -1888,6 +1888,9 @@ static int stitch_init(bContext *C, wmOperator *op) state->selection_stack = MEM_mallocN(sizeof(*state->selection_stack) * state->total_separate_edges, "uv_stitch_selection_stack"); BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) { + if (!(ts->uv_flag & UV_SYNC_SELECTION) && ((BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) || !BM_elem_flag_test(efa, BM_ELEM_SELECT))) + continue; + BM_ITER_ELEM_INDEX (l, &liter, efa, BM_LOOPS_OF_FACE, i) { if (uvedit_edge_select_test(scene, l, cd_loop_uv_offset)) { UvEdge *edge = uv_edge_get(l, state); |