Bge fix [#33016] Blender crashes when I start the game engine

Caused by a bit of a disconnect from the BGE mesh and BMesh.
This commit is contained in:
Daniel Stokes
2013-07-19 22:11:26 +00:00
parent 318aacbc8c
commit 23dccfadf0

View File

@@ -1587,6 +1587,21 @@ bool CcdShapeConstructionInfo::SetMesh(RAS_MeshObject* meshobj, DerivedMesh* dm,
if (mf->v4 && vert_tag_array[mf->v4] == false) {vert_tag_array[mf->v4] = true; tot_bt_verts++;}
}
}
/* Can happen with ngons */
if (!tot_bt_verts) {
m_shapeType = PHY_SHAPE_NONE;
m_meshObject = NULL;
m_vertexArray.clear();
m_polygonIndexArray.clear();
m_triFaceArray.clear();
m_triFaceUVcoArray.clear();
if (free_dm) {
dm->release(dm);
dm = NULL;
}
return false;
}
m_vertexArray.resize(tot_bt_verts*3);
@@ -1662,6 +1677,21 @@ bool CcdShapeConstructionInfo::SetMesh(RAS_MeshObject* meshobj, DerivedMesh* dm,
}
}
/* Can happen with ngons */
if (!tot_bt_verts) {
m_shapeType = PHY_SHAPE_NONE;
m_meshObject = NULL;
m_vertexArray.clear();
m_polygonIndexArray.clear();
m_triFaceArray.clear();
m_triFaceUVcoArray.clear();
if (free_dm) {
dm->release(dm);
dm = NULL;
}
return false;
}
m_vertexArray.resize(tot_bt_verts*3);
m_polygonIndexArray.resize(tot_bt_tris);
m_triFaceArray.resize(tot_bt_tris*3);