[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56023] trunk/blender/source/blender/ blenkernel/intern/editderivedmesh.c: fix for error in editmesh derived callbacks, emDM_getVert(), emDM_getEdge( ), emDM_getTessFace().

Campbell Barton ideasman42 at gmail.com
Sat Apr 13 22:40:37 CEST 2013


Revision: 56023
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56023
Author:   campbellbarton
Date:     2013-04-13 20:40:34 +0000 (Sat, 13 Apr 2013)
Log Message:
-----------
fix for error in editmesh derived callbacks, emDM_getVert(), emDM_getEdge(), emDM_getTessFace().
Currently the functions aren't used since they would fail have failed immediately.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c

Modified: trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c	2013-04-13 20:31:52 UTC (rev 56022)
+++ trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c	2013-04-13 20:40:34 UTC (rev 56023)
@@ -370,10 +370,6 @@
 	float (*vertexCos)[3];
 	float (*vertexNos)[3];
 	float (*polyNos)[3];
-
-	/* private variables, for number of verts/edges/faces
-	 * within the above hash/table members */
-	int tv, te, tf;
 } EditDerivedBMesh;
 
 static void emDM_calcNormals(DerivedMesh *UNUSED(dm))
@@ -1387,8 +1383,8 @@
 	EditDerivedBMesh *bmdm = (EditDerivedBMesh *)dm;
 	BMVert *ev;
 
-	if (index < 0 || index >= bmdm->tv) {
-		printf("error in emDM_getVert.\n");
+	if (UNLIKELY(index < 0 || index >= bmdm->em->bm->totvert)) {
+		BLI_assert(!"error in emDM_getVert");
 		return;
 	}
 
@@ -1407,8 +1403,8 @@
 	BMEdge *e;
 	float *f;
 
-	if (index < 0 || index >= bmdm->te) {
-		printf("error in emDM_getEdge.\n");
+	if (UNLIKELY(index < 0 || index >= bmdm->em->bm->totedge)) {
+		BLI_assert(!"error in emDM_getEdge");
 		return;
 	}
 
@@ -1434,8 +1430,8 @@
 	BMFace *ef;
 	BMLoop **ltri;
 
-	if (index < 0 || index >= bmdm->tf) {
-		printf("error in emDM_getTessFace.\n");
+	if (UNLIKELY(index < 0 || index >= bmdm->em->tottri)) {
+		BLI_assert(!"error in emDM_getTessFace");
 		return;
 	}
 




More information about the Bf-blender-cvs mailing list