Fix #20393: subsurfed objects only allow a single material.

This commit is contained in:
Brecht Van Lommel 2009-12-15 18:00:22 +00:00
parent 6ef7c3bb2b
commit fedea2eb5c

@ -931,8 +931,8 @@ static void ccgDM_copyFinalFaceArray(DerivedMesh *dm, MFace *mface)
for(index = 0; index < totface; index++) {
CCGFace *f = ccgdm->faceMap[index].face;
int x, y, S, numVerts = ccgSubSurf_getFaceNumVerts(f);
int mat_nr = 0;
int flag = ME_SMOOTH; /* assume face is smooth by default */
int flag = (faceFlags)? faceFlags[index*2]: ME_SMOOTH;
int mat_nr = (faceFlags)? faceFlags[index*2+1]: 0;
for(S = 0; S < numVerts; S++) {
for(y = 0; y < gridSize - 1; y++) {
@ -947,8 +947,7 @@ static void ccgDM_copyFinalFaceArray(DerivedMesh *dm, MFace *mface)
mf->v4 = getFaceIndex(ss, f, S, x + 1, y + 0,
edgeSize, gridSize);
mf->mat_nr = mat_nr;
if(faceFlags) mf->flag = faceFlags[index*2];
else mf->flag = flag;
mf->flag = flag;
i++;
}