Revision: 41406
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41406
Author:   campbellbarton
Date:     2011-10-31 03:55:01 +0000 (Mon, 31 Oct 2011)
Log Message:
-----------
fix [#29090] Vertex paint: in mask mode, select all (hotkey "A") does not work

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/editors/mesh/editface.c

Modified: branches/bmesh/blender/source/blender/editors/mesh/editface.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/editface.c       
2011-10-31 01:50:04 UTC (rev 41405)
+++ branches/bmesh/blender/source/blender/editors/mesh/editface.c       
2011-10-31 03:55:01 UTC (rev 41406)
@@ -361,7 +361,7 @@
 }
 
 /* note: caller needs to run paintface_flush_flags(ob) after this */
-void paintface_deselect_all_visible(Object *ob, int action, short 
UNUSED(flush_flags))
+void paintface_deselect_all_visible(Object *ob, int action, short flush_flags)
 {
        Mesh *me;
        MPoly *mface;
@@ -379,7 +379,8 @@
                        }
                        mface++;
                }
-       } else {
+       }
+       else {
                if (action == SEL_TOGGLE) {
                        action = SEL_SELECT;
 
@@ -393,10 +394,30 @@
                                mface++;
                        }
                }
+
+               mface= me->mpoly;
+               a= me->totpoly;
+               while(a--) {
+                       if((mface->flag & ME_HIDE) == 0) {
+                               switch (action) {
+                               case SEL_SELECT:
+                                       mface->flag |= ME_FACE_SEL;
+                                       break;
+                               case SEL_DESELECT:
+                                       mface->flag &= ~ME_FACE_SEL;
+                                       break;
+                               case SEL_INVERT:
+                                       mface->flag ^= ME_FACE_SEL;
+                                       break;
+                               }
+                       }
+                       mface++;
+               }
        }
 
-       //BMESH_TODO object_facesel_flush_dm(ob);
-// XXX notifier!               object_tface_flags_changed(OBACT, 0);
+       if(flush_flags) {
+               paintface_flush_flags(ob);
+       }
 }
 
 static void selectswap_tface(Scene *scene)

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

Reply via email to