creating the editmesh structure was running paint_facesel_test() for every vert and selected face.

not so efficient, check once.
This commit is contained in:
2010-11-14 23:37:03 +00:00
parent e0209b593b
commit cdf7a1eaca

View File

@@ -739,6 +739,7 @@ void make_editMesh(Scene *scene, Object *ob)
EditSelection *ese;
float *co, (*keyco)[3]= NULL;
int tot, a, eekadoodle= 0;
const short is_paint_sel= paint_facesel_test(ob);
if(me->edit_mesh==NULL)
me->edit_mesh= MEM_callocN(sizeof(EditMesh), "editmesh");
@@ -789,7 +790,7 @@ void make_editMesh(Scene *scene, Object *ob)
evlist[a]= eve;
/* face select sets selection in next loop */
if(!paint_facesel_test(ob))
if(!is_paint_sel)
eve->f |= (mvert->flag & 1);
if (mvert->flag & ME_HIDE) eve->h= 1;
@@ -864,7 +865,7 @@ void make_editMesh(Scene *scene, Object *ob)
if(mface->flag & ME_FACE_SEL) {
efa->f |= SELECT;
if(paint_facesel_test(ob)) {
if(is_paint_sel) {
EM_select_face(efa, 1); /* flush down */
}