From cb6ab1df5ece0ea044e4c90a8147f93d5a126a17 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 10 Apr 2012 00:22:26 +0000 Subject: uv editor: don't draw active face stipple when the face isn't visible (error from bmesh merge), also replace 'em->bm' with 'bm' var while drawing. --- source/blender/editors/uvedit/uvedit_draw.c | 175 ++++++++++++++-------------- 1 file changed, 89 insertions(+), 86 deletions(-) (limited to 'source/blender/editors/uvedit/uvedit_draw.c') diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c index 2fe007a42e8..ce5b6b92acb 100644 --- a/source/blender/editors/uvedit/uvedit_draw.c +++ b/source/blender/editors/uvedit/uvedit_draw.c @@ -126,21 +126,20 @@ static int draw_uvs_face_check(Scene *scene) static void draw_uvs_shadow(Object *obedit) { - BMEditMesh *em; + BMEditMesh *em = BMEdit_FromObject(obedit); + BMesh *bm = em->bm; BMFace *efa; BMLoop *l; BMIter iter, liter; MLoopUV *luv; - - em = BMEdit_FromObject(obedit); /* draws the grey mesh when painting */ glColor3ub(112, 112, 112); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { glBegin(GL_LINE_LOOP); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv= CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv= CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } @@ -163,6 +162,7 @@ static int draw_uvs_dm_shadow(DerivedMesh *dm) static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTexPoly *activetf) { + BMesh *bm = em->bm; BMFace *efa; BMLoop *l; BMIter iter, liter; @@ -181,8 +181,8 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe { float totarea=0.0f, totuvarea=0.0f, areadiff, uvarea, area; - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { - tf= CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY); + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { + tf= CustomData_bmesh_get(&bm->pdata, efa->head.data, CD_MTEXPOLY); BLI_array_empty(tf_uv); BLI_array_empty(tf_uvorig); @@ -190,8 +190,8 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe BLI_array_growitems(tf_uvorig, efa->len); i = 0; - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv= CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv= CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); copy_v2_v2(tf_uvorig[i], luv->uv); @@ -200,7 +200,7 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe poly_copy_aspect(tf_uvorig, tf_uv, aspx, aspy, efa->len); - totarea += BM_face_area_calc(em->bm, efa); + totarea += BM_face_area_calc(bm, efa); //totuvarea += tf_area(tf, efa->v4!=0); totuvarea += poly_uv_area(tf_uv, efa->len); @@ -218,11 +218,11 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe col[0] = 1.0; col[1] = col[2] = 0.0; glColor3fv(col); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (BM_elem_flag_test(efa, BM_ELEM_TAG)) { glBegin(GL_POLYGON); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -230,9 +230,9 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe } } else { - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (BM_elem_flag_test(efa, BM_ELEM_TAG)) { - area = BM_face_area_calc(em->bm, efa) / totarea; + area = BM_face_area_calc(bm, efa) / totarea; BLI_array_empty(tf_uv); BLI_array_empty(tf_uvorig); @@ -240,8 +240,8 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe BLI_array_growitems(tf_uvorig, efa->len); i = 0; - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv= CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv= CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); copy_v2_v2(tf_uvorig[i], luv->uv); @@ -264,8 +264,8 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe glColor3fv(col); glBegin(GL_POLYGON); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -291,8 +291,8 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe glShadeModel(GL_SMOOTH); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { - tf= CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY); + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { + tf= CustomData_bmesh_get(&bm->pdata, efa->head.data, CD_MTEXPOLY); if (uvedit_face_visible(scene, ima, efa, tf)) { nverts = efa->len; @@ -310,15 +310,15 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe BLI_array_growitems(av, nverts); BLI_array_growitems(auv, nverts); - BM_ITER_INDEX(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa, i) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER_INDEX(l, &liter, bm, BM_LOOPS_OF_FACE, efa, i) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); copy_v2_v2(tf_uvorig[i], luv->uv); } poly_copy_aspect(tf_uvorig, tf_uv, aspx, aspy, nverts); j = nverts - 1; - BM_ITER_INDEX(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa, i) { + BM_ITER_INDEX(l, &liter, bm, BM_LOOPS_OF_FACE, efa, i) { sub_v2_v2v2(auv[i], tf_uv[j], tf_uv[i]); normalize_v2(auv[i]); sub_v3_v3v3(av[i], l->prev->v->co, l->v->co); normalize_v3(av[i]); j = i; @@ -336,8 +336,8 @@ static void draw_uvs_stretch(SpaceImage *sima, Scene *scene, BMEditMesh *em, MTe } glBegin(GL_POLYGON); - BM_ITER_INDEX(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa, i) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER_INDEX(l, &liter, bm, BM_LOOPS_OF_FACE, efa, i) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); a = fabsf(uvang[i]-ang[i])/(float)M_PI; weight_to_rgb(col, 1.0f-powf((1.0f-a), 2.0f)); glColor3fv(col); @@ -439,8 +439,9 @@ static void draw_uvs_texpaint(SpaceImage *sima, Scene *scene, Object *ob) static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) { ToolSettings *ts; - Mesh *me= obedit->data; - BMEditMesh *em; + Mesh *me = obedit->data; + BMEditMesh *em = me->edit_btmesh; + BMesh *bm = em->bm; BMFace *efa, *efa_act, *activef; BMLoop *l; BMIter iter, liter; @@ -454,9 +455,8 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) StitchPreviewer *stitch_preview = uv_get_stitch_previewer(); - em= me->edit_btmesh; activetf= EDBM_mtexpoly_active_get(em, &efa_act, FALSE); /* will be set to NULL if hidden */ - activef = BM_active_face_get(em->bm, FALSE); + activef = BM_active_face_get(bm, FALSE); ts= scene->toolsettings; drawfaces= draw_uvs_face_check(scene); @@ -503,8 +503,8 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { - tf= CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY); + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { + tf= CustomData_bmesh_get(&bm->pdata, efa->head.data, CD_MTEXPOLY); if (uvedit_face_visible(scene, ima, efa, tf)) { BM_elem_flag_enable(efa, BM_ELEM_TAG); @@ -516,8 +516,8 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) glColor4ubv((GLubyte *)col1); glBegin(GL_POLYGON); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -533,8 +533,8 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) else { /* would be nice to do this within a draw loop but most below are optional, so it would involve too many checks */ - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { - tf= CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY); + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { + tf= CustomData_bmesh_get(&bm->pdata, efa->head.data, CD_MTEXPOLY); if (uvedit_face_visible(scene, ima, efa, tf)) { BM_elem_flag_enable(efa, BM_ELEM_TAG); @@ -551,22 +551,25 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) /* 3. draw active face stippled */ if (activef) { - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - UI_ThemeColor4(TH_EDITMESH_ACTIVE); - - glEnable(GL_POLYGON_STIPPLE); - glPolygonStipple(stipple_quarttone); + tf = CustomData_bmesh_get(&bm->pdata, activef->head.data, CD_MTEXPOLY); + if (uvedit_face_visible(scene, ima, activef, tf)) { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + UI_ThemeColor4(TH_EDITMESH_ACTIVE); + + glEnable(GL_POLYGON_STIPPLE); + glPolygonStipple(stipple_quarttone); + + glBegin(GL_POLYGON); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, activef) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); + glVertex2fv(luv->uv); + } + glEnd(); - glBegin(GL_POLYGON); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, activef) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); - glVertex2fv(luv->uv); + glDisable(GL_POLYGON_STIPPLE); + glDisable(GL_BLEND); } - glEnd(); - - glDisable(GL_POLYGON_STIPPLE); - glDisable(GL_BLEND); } /* 4. draw edges */ @@ -579,17 +582,17 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) switch(sima->dt_uv) { case SI_UVDT_DASH: - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; - tf = CustomData_bmesh_get(&em->bm->pdata, efa->head.data, CD_MTEXPOLY); + tf = CustomData_bmesh_get(&bm->pdata, efa->head.data, CD_MTEXPOLY); if (tf) { cpack(0x111111); glBegin(GL_LINE_LOOP); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -598,17 +601,17 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) cpack(0x909090); glBegin(GL_LINE_LOOP); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); #if 0 glBegin(GL_LINE_STRIP); - luv = CustomData_bmesh_get(&em->bm->ldata, efa->lbase->head.data, CD_MLOOPUV); + luv = CustomData_bmesh_get(&bm->ldata, efa->lbase->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); - luv = CustomData_bmesh_get(&em->bm->ldata, efa->lbase->next->head.data, CD_MLOOPUV); + luv = CustomData_bmesh_get(&bm->ldata, efa->lbase->next->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); glEnd(); #endif @@ -622,13 +625,13 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) if (sima->dt_uv==SI_UVDT_WHITE) glColor3f(1.0f, 1.0f, 1.0f); else glColor3f(0.0f, 0.0f, 0.0f); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; glBegin(GL_LINE_LOOP); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -638,13 +641,13 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) glLineWidth(3); cpack(0x0); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; glBegin(GL_LINE_LOOP); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -661,16 +664,16 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) if (interpedges) { glShadeModel(GL_SMOOTH); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; glBegin(GL_LINE_LOOP); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { sel = (uvedit_uv_selected(em, scene, l)? 1 : 0); glColor4ubv(sel ? (GLubyte *)col1 : (GLubyte *)col2); - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -679,20 +682,20 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) glShadeModel(GL_FLAT); } else { - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; glBegin(GL_LINES); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { sel = (uvedit_edge_selected(em, scene, l)? 1 : 0); if (sel != lastsel) { glColor4ubv(sel ? (GLubyte *)col1 : (GLubyte *)col2); lastsel = sel; } - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); - luv = CustomData_bmesh_get(&em->bm->ldata, l->next->head.data, CD_MLOOPUV); + luv = CustomData_bmesh_get(&bm->ldata, l->next->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -701,13 +704,13 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) } else { /* no nice edges */ - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; glBegin(GL_LINE_LOOP); - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); glVertex2fv(luv->uv); } glEnd(); @@ -734,7 +737,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) UI_ThemeColor(TH_WIRE); bglBegin(GL_POINTS); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; @@ -749,7 +752,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) UI_ThemeColor(TH_FACE_DOT); bglBegin(GL_POINTS); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; @@ -770,12 +773,12 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) glPointSize(pointsize); bglBegin(GL_POINTS); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); if (!uvedit_uv_selected(em, scene, l)) bglVertex2fv(luv->uv); } @@ -788,12 +791,12 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) cpack(0xFF); bglBegin(GL_POINTS); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); if (luv->flag & MLOOPUV_PINNED) bglVertex2fv(luv->uv); @@ -806,12 +809,12 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit) glPointSize(pointsize); bglBegin(GL_POINTS); - BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { + BM_ITER(efa, &iter, bm, BM_FACES_OF_MESH, NULL) { if (!BM_elem_flag_test(efa, BM_ELEM_TAG)) continue; - BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) { - luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV); + BM_ITER(l, &liter, bm, BM_LOOPS_OF_FACE, efa) { + luv = CustomData_bmesh_get(&bm->ldata, l->head.data, CD_MLOOPUV); if (uvedit_uv_selected(em, scene, l)) bglVertex2fv(luv->uv); -- cgit v1.2.3