Fix: active face was lost switching between faceselect mode and editmode.
This commit is contained in:
@@ -211,10 +211,8 @@ static void layerCopy_tface(const void *source, void *dest, int count)
|
|||||||
MTFace *dest_tf = (MTFace*)dest;
|
MTFace *dest_tf = (MTFace*)dest;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for(i = 0; i < count; ++i) {
|
for(i = 0; i < count; ++i)
|
||||||
dest_tf[i] = source_tf[i];
|
dest_tf[i] = source_tf[i];
|
||||||
dest_tf[i].flag &= ~TF_ACTIVE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void layerInterp_tface(void **sources, float *weights,
|
static void layerInterp_tface(void **sources, float *weights,
|
||||||
|
|||||||
@@ -1459,7 +1459,7 @@ void select_tface_from_mface(Mesh *me)
|
|||||||
{
|
{
|
||||||
MFace *mf;
|
MFace *mf;
|
||||||
MTFace *tf;
|
MTFace *tf;
|
||||||
int a;
|
int a, hasactive=0;
|
||||||
|
|
||||||
if(!me->mtface) return;
|
if(!me->mtface) return;
|
||||||
|
|
||||||
@@ -1471,6 +1471,11 @@ void select_tface_from_mface(Mesh *me)
|
|||||||
|
|
||||||
if(mf->flag & ME_HIDE) tf->flag |= TF_HIDE;
|
if(mf->flag & ME_HIDE) tf->flag |= TF_HIDE;
|
||||||
else tf->flag &= ~TF_HIDE;
|
else tf->flag &= ~TF_HIDE;
|
||||||
|
|
||||||
|
if(tf->flag & TF_ACTIVE) {
|
||||||
|
if(hasactive) tf->flag &= ~TF_ACTIVE;
|
||||||
|
else hasactive= 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user