diff options
Diffstat (limited to 'source/blender/src/editmesh.c')
-rw-r--r-- | source/blender/src/editmesh.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/src/editmesh.c b/source/blender/src/editmesh.c index fcfb1a5c40f..678178e6e5b 100644 --- a/source/blender/src/editmesh.c +++ b/source/blender/src/editmesh.c @@ -333,6 +333,10 @@ void free_editface(EditFace *efa) } #endif EM_remove_selection(efa, EDITFACE); + + if (G.editMesh->act_face==efa) + EM_set_actFace(NULL); + CustomData_em_free_block(&G.editMesh->fdata, &efa->data); if(efa->fast==0) free(efa); @@ -809,10 +813,11 @@ void make_editMesh() /* because of reload */ free_editMesh(em); + em->act_face = NULL; G.totvert= tot= me->totvert; G.totedge= me->totedge; G.totface= me->totface; - + if(tot==0) { countall(); return; @@ -906,6 +911,9 @@ void make_editMesh() if((FACESEL_PAINT_TEST) && (efa->f & SELECT)) EM_select_face(efa, 1); /* flush down */ + + if (a==me->act_face) + em->act_face = efa; } } } @@ -1140,6 +1148,9 @@ void load_editMesh(void) /* no index '0' at location 3 or 4 */ test_index_face(mface, &me->fdata, i, efa->v4?4:3); + + if (a==me->act_face) + EM_set_actFace(efa); #ifdef WITH_VERSE if(efa->vface) { |