[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51726] trunk/blender/source/blender/bmesh /intern/bmesh_decimate_dissolve.c: fix [#32998] Decimate modifier - Planar

Campbell Barton ideasman42 at gmail.com
Mon Oct 29 06:31:47 CET 2012


Revision: 51726
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51726
Author:   campbellbarton
Date:     2012-10-29 05:31:40 +0000 (Mon, 29 Oct 2012)
Log Message:
-----------
fix [#32998] Decimate modifier - Planar

error in recent decimator upgrade, missing NULL check.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_decimate_dissolve.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_decimate_dissolve.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_decimate_dissolve.c	2012-10-29 03:53:02 UTC (rev 51725)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_decimate_dissolve.c	2012-10-29 05:31:40 UTC (rev 51726)
@@ -179,10 +179,10 @@
 		/* simple version of the branch below, sincve we will dissolve _all_ verts that use 2 edges */
 		for (i = 0; i < vinput_len; i++) {
 			BMVert *v = vinput_arr[i];
-			if (v) {
-				if (BM_vert_edge_count(v) == 2) {
-					BM_vert_collapse_edge(bm, v->e, v, TRUE); /* join edges */
-				}
+			if (LIKELY(v != NULL) &&
+			    BM_vert_edge_count(v) == 2)
+			{
+				BM_vert_collapse_edge(bm, v->e, v, TRUE); /* join edges */
 			}
 		}
 	}
@@ -207,10 +207,11 @@
 
 			for (i = 0; i < tot_found; i++) {
 				BMVert *v = (BMVert *)weight_elems[i].ele;
-				if (/* topology changes may cause this to be un-collapsable */
-					(BM_vert_edge_count(v) == 2) &&
-					/* check twice because cumulative effect could dissolve over angle limit */
-					bm_vert_edge_face_angle(v) < angle_limit)
+				if (LIKELY(v != NULL) &&
+				    /* topology changes may cause this to be un-collapsable */
+				    (BM_vert_edge_count(v) == 2) &&
+				    /* check twice because cumulative effect could dissolve over angle limit */
+				    bm_vert_edge_face_angle(v) < angle_limit)
 				{
 					BMEdge *ne = BM_vert_collapse_edge(bm, v->e, v, TRUE); /* join edges */
 




More information about the Bf-blender-cvs mailing list