[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58422] trunk/blender/source/gameengine/ Physics/Bullet/CcdPhysicsController.cpp: Bge fix [#33016] Blender crashes when I start the game engine

Daniel Stokes kupomail at gmail.com
Sat Jul 20 00:11:27 CEST 2013


Revision: 58422
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58422
Author:   kupoman
Date:     2013-07-19 22:11:26 +0000 (Fri, 19 Jul 2013)
Log Message:
-----------
Bge fix [#33016] Blender crashes when I start the game engine

Caused by a bit of a disconnect from the BGE mesh and BMesh.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp

Modified: trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
===================================================================
--- trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp	2013-07-19 22:10:11 UTC (rev 58421)
+++ trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp	2013-07-19 22:11:26 UTC (rev 58422)
@@ -1587,6 +1587,21 @@
 				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 @@
 			}
 		}
 
+		/* 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);




More information about the Bf-blender-cvs mailing list