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);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to