From 0cd35ada0de5dcb93a27ac6fe98a7640e74464ac Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 2 May 2013 09:45:00 +0000 Subject: Fix #35177: Press P Crashes Blender After Fracture of Cube Root of the issue was fixed by Brecht in svn rev56441. This change only prevents crash of files created in blender before that fix, and also gives more useable information about what's wrong (apparently, assert here was doing nothing). --- source/gameengine/Converter/BL_BlenderDataConversion.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/gameengine/Converter') diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index dcf99502a3e..6912adbb60c 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -1108,7 +1108,10 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, KX_Scene* scene, { if (dm->faceData.layers[i].type == CD_MTFACE) { - assert(validLayers <= 8); + if (validLayers >= MAX_MTFACE) { + printf("%s: corrupted mesh %s - too many CD_MTFACE layers\n", __func__, mesh->id.name); + break; + } layers[validLayers].face = (MTFace*)(dm->faceData.layers[i].data); layers[validLayers].name = dm->faceData.layers[i].name; -- cgit v1.2.3