[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57976] trunk/blender/source/blender/bmesh /tools/bmesh_bevel.c: Fix bevel crash bug 35990.

Howard Trickey howard.trickey at gmail.com
Wed Jul 3 22:52:31 CEST 2013


Revision: 57976
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57976
Author:   howardt
Date:     2013-07-03 20:52:31 +0000 (Wed, 03 Jul 2013)
Log Message:
-----------
Fix bevel crash bug 35990. Sometimes no face to interpolate from.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/tools/bmesh_bevel.c

Modified: trunk/blender/source/blender/bmesh/tools/bmesh_bevel.c
===================================================================
--- trunk/blender/source/blender/bmesh/tools/bmesh_bevel.c	2013-07-03 20:37:09 UTC (rev 57975)
+++ trunk/blender/source/blender/bmesh/tools/bmesh_bevel.c	2013-07-03 20:52:31 UTC (rev 57976)
@@ -268,8 +268,8 @@
 		}
 		f = BM_face_create(bm, vert_arr, ee, totv, 0);
 	}
-	if ((facerep || face_arr) && f) {
-		BM_elem_attrs_copy(bm, bm, facerep, f);
+	if ((facerep || (face_arr && face_arr[0])) && f) {
+		BM_elem_attrs_copy(bm, bm, facerep ? facerep : face_arr[0], f);
 		if (do_interp) {
 			i = 0;
 			BM_ITER_ELEM (l, &iter, f, BM_LOOPS_OF_FACE) {
@@ -281,7 +281,8 @@
 				else {
 					interp_f = facerep;
 				}
-				BM_loop_interp_from_face(bm, l, interp_f, TRUE, TRUE);
+				if (interp_f)
+					BM_loop_interp_from_face(bm, l, interp_f, TRUE, TRUE);
 				i++;
 			}
 		}
@@ -404,7 +405,8 @@
 			facerep = f1;
 		else
 			facerep = f2;
-		BM_loop_interp_from_face(bm, l, facerep, TRUE, TRUE);
+		if (facerep)
+			BM_loop_interp_from_face(bm, l, facerep, TRUE, TRUE);
 	}
 	return f;
 }




More information about the Bf-blender-cvs mailing list