[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56468] trunk/blender/source/gameengine/ Converter/BL_BlenderDataConversion.cpp: Fix #35177: Press P Crashes Blender After Fracture of Cube

Sergey Sharybin sergey.vfx at gmail.com
Thu May 2 11:45:01 CEST 2013


Revision: 56468
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56468
Author:   nazgul
Date:     2013-05-02 09:45:00 +0000 (Thu, 02 May 2013)
Log Message:
-----------
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).

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56441

Modified Paths:
--------------
    trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp

Modified: trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2013-05-02 08:25:22 UTC (rev 56467)
+++ trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2013-05-02 09:45:00 UTC (rev 56468)
@@ -1108,7 +1108,10 @@
 	{
 		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;




More information about the Bf-blender-cvs mailing list