fix misisng edge hash free when CDDM_tessfaces_to_faces ran on an empty mesh
This commit is contained in:
@@ -2646,10 +2646,8 @@ void CDDM_tessfaces_to_faces(DerivedMesh *dm)
|
||||
CDDerivedMesh *cddm = (CDDerivedMesh*)dm;
|
||||
MFace *mf;
|
||||
MEdge *me;
|
||||
MLoop *ml;
|
||||
MPoly *mp;
|
||||
EdgeHash *eh = BLI_edgehash_new();
|
||||
int i, l, totloop, *polyindex;
|
||||
int i, totloop;
|
||||
|
||||
/*ensure we have all the edges we need*/
|
||||
CDDM_calc_edges(dm);
|
||||
@@ -2672,7 +2670,10 @@ void CDDM_tessfaces_to_faces(DerivedMesh *dm)
|
||||
cddm->dm.numLoopData = totloop;
|
||||
cddm->dm.numPolyData = cddm->dm.numFaceData;
|
||||
|
||||
if (!totloop) return;
|
||||
if (totloop) {
|
||||
MLoop *ml;
|
||||
MPoly *mp;
|
||||
int l, *polyindex;
|
||||
|
||||
cddm->mloop = MEM_callocN(sizeof(MLoop)*totloop, "cddm->mloop in CDDM_tessfaces_to_faces");
|
||||
cddm->mpoly = MEM_callocN(sizeof(MPoly)*cddm->dm.numFaceData, "cddm->mpoly in CDDM_tessfaces_to_faces");
|
||||
@@ -2714,6 +2715,7 @@ void CDDM_tessfaces_to_faces(DerivedMesh *dm)
|
||||
|
||||
*polyindex = i;
|
||||
}
|
||||
}
|
||||
|
||||
BLI_edgehash_free(eh, NULL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user