[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57583] trunk/blender/source/blender: Remove paranoid null checks for editmesh EDBM_vert_at_index and friends ( use asserts instead).

Campbell Barton ideasman42 at gmail.com
Wed Jun 19 20:59:55 CEST 2013


Revision: 57583
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57583
Author:   campbellbarton
Date:     2013-06-19 18:59:54 +0000 (Wed, 19 Jun 2013)
Log Message:
-----------
Remove paranoid null checks for editmesh EDBM_vert_at_index and friends (use asserts instead).
temp set BM_OMP_LIMIT to zero for better testing before release.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/bmesh_class.h
    trunk/blender/source/blender/bmesh/intern/bmesh_marking.c
    trunk/blender/source/blender/bmesh/intern/bmesh_mesh.c
    trunk/blender/source/blender/editors/mesh/editmesh_utils.c
    trunk/blender/source/blender/editors/space_view3d/view3d_iterators.c

Modified: trunk/blender/source/blender/bmesh/bmesh_class.h
===================================================================
--- trunk/blender/source/blender/bmesh/bmesh_class.h	2013-06-19 18:22:00 UTC (rev 57582)
+++ trunk/blender/source/blender/bmesh/bmesh_class.h	2013-06-19 18:59:54 UTC (rev 57583)
@@ -290,6 +290,6 @@
  * but should not error on valid cases */
 #define BM_LOOP_RADIAL_MAX 10000
 #define BM_NGON_MAX 100000
-#define BM_OMP_LIMIT 10000  /* setting zero so we can catch bugs in OpenMP/BMesh */
+#define BM_OMP_LIMIT 0 /* 10000 */  /* setting zero so we can catch bugs in OpenMP/BMesh */
 
 #endif /* __BMESH_CLASS_H__ */

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_marking.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_marking.c	2013-06-19 18:22:00 UTC (rev 57582)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_marking.c	2013-06-19 18:59:54 UTC (rev 57583)
@@ -498,6 +498,8 @@
 	BMIter iter;
 	int tot = 0;
 
+	BLI_assert((htype & ~BM_ALL_NOLOOP) == 0);
+
 	if (htype & BM_VERT) {
 		for (ele = BM_iter_new(&iter, bm, BM_VERTS_OF_MESH, NULL); ele; ele = BM_iter_step(&iter)) {
 			if (respecthide && BM_elem_flag_test(ele, BM_ELEM_HIDDEN)) continue;
@@ -803,6 +805,8 @@
 
 	int i;
 
+	BLI_assert((htype & ~BM_ALL_NOLOOP) == 0);
+
 	if (hflag & BM_ELEM_SELECT) {
 		BM_select_history_clear(bm);
 	}
@@ -872,6 +876,8 @@
 	BMElem *ele;
 	int i;
 
+	BLI_assert((htype & ~BM_ALL_NOLOOP) == 0);
+
 	if (hflag & BM_ELEM_SELECT) {
 		BM_select_history_clear(bm);
 	}

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_mesh.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_mesh.c	2013-06-19 18:22:00 UTC (rev 57582)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_mesh.c	2013-06-19 18:59:54 UTC (rev 57583)
@@ -628,6 +628,8 @@
  */
 int BM_mesh_elem_count(BMesh *bm, const char htype)
 {
+	BLI_assert((htype & ~BM_ALL_NOLOOP) == 0);
+
 	switch (htype) {
 		case BM_VERT: return bm->totvert;
 		case BM_EDGE: return bm->totedge;

Modified: trunk/blender/source/blender/editors/mesh/editmesh_utils.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_utils.c	2013-06-19 18:22:00 UTC (rev 57582)
+++ trunk/blender/source/blender/editors/mesh/editmesh_utils.c	2013-06-19 18:59:54 UTC (rev 57583)
@@ -507,17 +507,20 @@
 
 BMVert *EDBM_vert_at_index(BMEditMesh *em, int index)
 {
-	return em->vert_index && index < em->bm->totvert ? em->vert_index[index] : NULL;
+	BLI_assert((index >= 0) && (index < em->bm->totvert));
+	return em->vert_index[index];
 }
 
 BMEdge *EDBM_edge_at_index(BMEditMesh *em, int index)
 {
-	return em->edge_index && index < em->bm->totedge ? em->edge_index[index] : NULL;
+	BLI_assert((index >= 0) && (index < em->bm->totedge));
+	return em->edge_index[index];
 }
 
 BMFace *EDBM_face_at_index(BMEditMesh *em, int index)
 {
-	return (em->face_index && index < em->bm->totface && index >= 0) ? em->face_index[index] : NULL;
+	BLI_assert((index >= 0) && (index < em->bm->totface));
+	return em->face_index[index];
 }
 
 void EDBM_selectmode_flush_ex(BMEditMesh *em, const short selectmode)

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_iterators.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_iterators.c	2013-06-19 18:22:00 UTC (rev 57582)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_iterators.c	2013-06-19 18:59:54 UTC (rev 57583)
@@ -237,7 +237,7 @@
 	foreachScreenFace_userData *data = userData;
 	BMFace *efa = EDBM_face_at_index(data->vc.em, index);
 
-	if (efa && !BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) {
+	if (!BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) {
 		float screen_co[2];
 		if (ED_view3d_project_float_object(data->vc.ar, cent, screen_co, data->clip_flag) == V3D_PROJ_RET_OK) {
 			data->func(data->userData, efa, screen_co, index);




More information about the Bf-blender-cvs mailing list