[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50977] trunk/blender/source/blender: add compiler hints that failing to create a bmesh face is unlikely.
Campbell Barton
ideasman42 at gmail.com
Mon Oct 1 13:12:49 CEST 2012
Revision: 50977
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50977
Author: campbellbarton
Date: 2012-10-01 11:12:49 +0000 (Mon, 01 Oct 2012)
Log Message:
-----------
add compiler hints that failing to create a bmesh face is unlikely.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/modifiers_bmesh.c
trunk/blender/source/blender/bmesh/intern/bmesh_construct.c
trunk/blender/source/blender/bmesh/intern/bmesh_core.c
trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
trunk/blender/source/blender/bmesh/operators/bmo_connect.c
trunk/blender/source/blender/bmesh/operators/bmo_create.c
trunk/blender/source/blender/bmesh/operators/bmo_extrude.c
trunk/blender/source/blender/python/bmesh/bmesh_py_types.c
Modified: trunk/blender/source/blender/blenkernel/intern/modifiers_bmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifiers_bmesh.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/blenkernel/intern/modifiers_bmesh.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -129,8 +129,9 @@
f = BM_face_create_ngon(bm, verts[0], verts[1], edges, mp->totloop, FALSE);
- if (!f)
+ if (UNLIKELY(f == NULL)) {
continue;
+ }
f->head.hflag = BM_face_flag_from_mflag(mp->flag);
f->mat_nr = mp->mat_nr;
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_construct.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_construct.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_construct.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -902,8 +902,9 @@
}
f2 = BM_face_create_ngon(bm_new, v, v2, edges, f->len, FALSE);
- if (!f2)
+ if (UNLIKELY(f2 == NULL)) {
continue;
+ }
/* use totface in case adding some faces fails */
BM_elem_index_set(f2, (bm_new->totface - 1)); /* set_inline */
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_core.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_core.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_core.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -1021,7 +1021,7 @@
/* create region face */
newf = BM_face_create_ngon(bm, v1, v2, edges, tote, FALSE);
- if (!newf || BMO_error_occurred(bm)) {
+ if (UNLIKELY(!newf || BMO_error_occurred(bm))) {
if (!BMO_error_occurred(bm))
err = "Invalid boundary region to join faces";
goto error;
Modified: trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_mesh_conv.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -314,7 +314,7 @@
f = BM_face_create(bm, verts, fedges, mpoly->totloop, FALSE);
- if (!f) {
+ if (UNLIKELY(f == NULL)) {
printf("%s: Warning! Bad face in mesh"
" \"%s\" at index %d!, skipping\n",
__func__, me->id.name + 2, i);
Modified: trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_bevel.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/operators/bmo_bevel.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -475,7 +475,7 @@
BLI_array_append(edges, e);
f = BM_face_create_ngon(bm, verts[0], verts[1], edges, BLI_array_count(edges), FALSE);
- if (!f) {
+ if (UNLIKELY(f == NULL)) {
printf("%s: could not make face!\n", __func__);
continue;
}
@@ -592,7 +592,7 @@
*d3 = (d1 + d2) * 0.5f;
}
- if (!f) {
+ if (UNLIKELY(f == NULL)) {
fprintf(stderr, "%s: face index out of range! (bmesh internal error)\n", __func__);
continue;
}
@@ -771,7 +771,7 @@
continue;
f = BM_face_create_ngon(bm, lastv, vstart, edges, BLI_array_count(edges), FALSE);
- if (!f) {
+ if (UNLIKELY(f == NULL)) {
fprintf(stderr, "%s: in bevel vert fill! (bmesh internal error)\n", __func__);
}
else {
Modified: trunk/blender/source/blender/bmesh/operators/bmo_connect.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_connect.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/operators/bmo_connect.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -506,7 +506,7 @@
vv2[i2next],
vv1[i1next],
f_example, TRUE);
- if (!f || f->len != 4) {
+ if (UNLIKELY((f == NULL) || (f->len != 4))) {
fprintf(stderr, "%s: in bridge! (bmesh internal error)\n", __func__);
}
else {
Modified: trunk/blender/source/blender/bmesh/operators/bmo_create.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_create.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/operators/bmo_create.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -275,8 +275,9 @@
continue;
f = BM_face_create_ngon(bm, verts[0], verts[1], edges, BLI_array_count(edges), TRUE);
- if (!f)
+ if (UNLIKELY(f == NULL)) {
continue;
+ }
}
}
Modified: trunk/blender/source/blender/bmesh/operators/bmo_extrude.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_extrude.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/bmesh/operators/bmo_extrude.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -87,7 +87,7 @@
BMO_elem_flag_enable(bm, f, EXT_DEL);
f2 = BM_face_create_ngon(bm, firstv, BM_edge_other_vert(edges[0], firstv), edges, f->len, FALSE);
- if (!f2) {
+ if (UNLIKELY(f2 == NULL)) {
BMO_error_raise(bm, op, BMERR_MESH_ERROR, "Extrude failed; could not create face");
BLI_array_free(edges);
return;
@@ -104,6 +104,7 @@
l4 = l2->next;
f3 = BM_face_create_quad_tri(bm, l3->v, l4->v, l2->v, l->v, f, FALSE);
+ /* XXX, no error check here, why? - Campbell */
l_tmp = BM_FACE_FIRST_LOOP(f3);
Modified: trunk/blender/source/blender/python/bmesh/bmesh_py_types.c
===================================================================
--- trunk/blender/source/blender/python/bmesh/bmesh_py_types.c 2012-10-01 11:05:09 UTC (rev 50976)
+++ trunk/blender/source/blender/python/bmesh/bmesh_py_types.c 2012-10-01 11:12:49 UTC (rev 50977)
@@ -1808,7 +1808,7 @@
f_new = BM_face_create(bm, vert_array, edge_array, vert_seq_len, FALSE);
- if (f_new == NULL) {
+ if (UNLIKELY(f_new == NULL)) {
PyErr_SetString(PyExc_ValueError,
"faces.new(verts): couldn't create the new face, internal error");
goto cleanup;
More information about the Bf-blender-cvs
mailing list