diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-05-02 13:45:00 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-05-02 13:45:00 +0400 |
commit | 0cd35ada0de5dcb93a27ac6fe98a7640e74464ac (patch) | |
tree | e3e9ad8f1c7db9026dc7c220cd107615b3e008e6 /source | |
parent | f06343e0d8f8d4848ecafecef4a80c74cacde607 (diff) |
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).
Diffstat (limited to 'source')
-rw-r--r-- | source/gameengine/Converter/BL_BlenderDataConversion.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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; |