[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36899] branches/bmesh/blender/source/ blender/editors/uvedit/uvedit_ops.c: =bmesh= fixed bugs with uv select

Joseph Eagar joeedh at gmail.com
Thu May 26 01:15:00 CEST 2011


Revision: 36899
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36899
Author:   joeedh
Date:     2011-05-25 23:14:59 +0000 (Wed, 25 May 2011)
Log Message:
-----------
=bmesh= fixed bugs with uv select

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/editors/uvedit/uvedit_ops.c

Modified: branches/bmesh/blender/source/blender/editors/uvedit/uvedit_ops.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/uvedit/uvedit_ops.c	2011-05-25 17:14:31 UTC (rev 36898)
+++ branches/bmesh/blender/source/blender/editors/uvedit/uvedit_ops.c	2011-05-25 23:14:59 UTC (rev 36899)
@@ -1066,7 +1066,7 @@
 	if(vmap == NULL)
 		return;
 
-	stack= MEM_mallocN(sizeof(*stack)*em->bm->totface, "UvLinkStack");
+	stack= MEM_mallocN(sizeof(*stack)*(em->bm->totface+1), "UvLinkStack");
 	flag= MEM_callocN(sizeof(*flag)*em->bm->totface, "UvLinkFlag");
 
 	if(!hit) {
@@ -1149,7 +1149,7 @@
 		}
 	}
 
-	if(!extend || hit) {		
+	if(!extend) {		
 		a = 0;
 		BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) {
 			BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) {
@@ -1160,25 +1160,37 @@
 				else
 					luv->flag &= ~MLOOPUV_VERTSEL;
 			}
+			a++;
 		}
 	}
 	else {
 		a = 0;
 		BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) {
+			if (!flag[a]) {
+				a++;
+				continue;
+			}
+			
 			BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) {
 				luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV);
 						
 				if (luv->flag & MLOOPUV_VERTSEL)
 					break;
 			}
-
+			
+			if (l)
+				break;
+			
 			a++;
 		}
 
 		if(efa) {
 			a = 0;
 			BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) {
-				if (!flag[a]) continue;
+				if (!flag[a]) {
+					a++;
+					continue;
+				}
 
 				BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) {
 					luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV);
@@ -1192,7 +1204,10 @@
 		else {
 			a = 0;
 			BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) {
-				if (!flag[a]) continue;
+				if (!flag[a]) {
+					a++;
+					continue;
+				}
 
 				BM_ITER(l, &liter, em->bm, BM_LOOPS_OF_FACE, efa) {
 					luv = CustomData_bmesh_get(&em->bm->ldata, l->head.data, CD_MLOOPUV);




More information about the Bf-blender-cvs mailing list