[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58538] trunk/blender/source/gameengine/ Physics/Bullet/CcdPhysicsController.cpp: bge: de-duplicate cleanup code for empty mesh error case

Campbell Barton ideasman42 at gmail.com
Tue Jul 23 12:59:30 CEST 2013


Revision: 58538
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58538
Author:   campbellbarton
Date:     2013-07-23 10:59:29 +0000 (Tue, 23 Jul 2013)
Log Message:
-----------
bge: de-duplicate cleanup code for empty mesh error case

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-23 08:39:52 UTC (rev 58537)
+++ trunk/blender/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp	2013-07-23 10:59:29 UTC (rev 58538)
@@ -1590,17 +1590,7 @@
 		
 		/* 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;
+			goto cleanup_empty_mesh;
 		}
 
 		m_vertexArray.resize(tot_bt_verts*3);
@@ -1679,17 +1669,7 @@
 
 		/* 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;
+			goto cleanup_empty_mesh;
 		}
 
 		m_vertexArray.resize(tot_bt_verts*3);
@@ -1834,6 +1814,19 @@
 		m_meshShapeMap.insert(std::pair<RAS_MeshObject*,CcdShapeConstructionInfo*>(meshobj,this));
 	}
 	return true;
+
+
+cleanup_empty_mesh:
+	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);
+	}
+	return false;
 }
 
 #include <cstdio>




More information about the Bf-blender-cvs mailing list