Revision: 38481
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38481
Author:   jason_hays22
Date:     2011-07-18 16:47:21 +0000 (Mon, 18 Jul 2011)
Log Message:
-----------
Fixed an indexing problem with the regular mouse vertex select in weight paint.

It will draw vertices in wire mode.

Modified Paths:
--------------
    branches/soc-2011-radish/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2011-radish/source/blender/editors/space_view3d/view3d_select.c

Modified: 
branches/soc-2011-radish/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- branches/soc-2011-radish/source/blender/editors/space_view3d/drawobject.c   
2011-07-18 15:12:35 UTC (rev 38480)
+++ branches/soc-2011-radish/source/blender/editors/space_view3d/drawobject.c   
2011-07-18 16:47:21 UTC (rev 38481)
@@ -2619,7 +2619,7 @@
        Mesh *me = ob->data;
        Material *ma= give_current_material(ob, 1);
        const short hasHaloMat = (ma && (ma->material_type == MA_TYPE_HALO));
-       const short is_paint_sel= (ob==OBACT && paint_facesel_test(ob));
+       const short is_paint_sel= (ob==OBACT && (paint_facesel_test(ob)));
        int draw_wire = 0;
        int /* totvert,*/ totedge, totface;
        DerivedMesh *dm= mesh_get_derived_final(scene, ob, 
scene->customdata_mask);
@@ -2775,16 +2775,6 @@
                                glDisable(GL_LIGHTING);
 
                                GPU_disable_material();
-                               // Jason
-                               if(paint_vertsel_test(ob)) {
-                                       glColor3f(0.0f, 0.0f, 0.0f);
-                                       glPointSize(2.0f);
-                                       dm->drawEdges(dm, (dt==OB_WIRE || 
totface==0), me->drawflag);
-                                       glPointSize(3.0f);
-                                       dm->drawSelectedVerts(dm);
-                                       //draw_obmode_dm_verts(dm, 1);
-                                       glPointSize(1.0f);
-                               }
                        }
                        else if(ob->mode & 
(OB_MODE_VERTEX_PAINT|OB_MODE_TEXTURE_PAINT)) {
                                if(me->mcol)
@@ -2796,7 +2786,6 @@
                        }
                }
        }
-       
        /* set default draw color back for wire or for draw-extra later on */
        if (dt!=OB_WIRE) {
                if(base->flag & SELECT) {
@@ -2855,7 +2844,21 @@
                        bglPolygonOffset(rv3d->dist, 0.0);
                }
        }
-
+       // Jason
+       if(paint_vertsel_test(ob)) {
+               glColor3f(0.0f, 0.0f, 0.0f);
+               glPointSize(2.0f);
+               // TODO clarify:
+               // there is clearly something I don't understand, when it was 
+               // dt != OB_WIRE instead, it still drew in wire mode!
+               if(dt != OB_SOLID) {
+                       dm->drawEdges(dm, (totface==0), TRUE);
+               }
+               glPointSize(3.0f);
+               dm->drawSelectedVerts(dm);
+               //draw_obmode_dm_verts(dm, 1);
+               glPointSize(1.0f);
+       }
        dm->release(dm);
 }
 

Modified: 
branches/soc-2011-radish/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- 
branches/soc-2011-radish/source/blender/editors/space_view3d/view3d_select.c    
    2011-07-18 15:12:35 UTC (rev 38480)
+++ 
branches/soc-2011-radish/source/blender/editors/space_view3d/view3d_select.c    
    2011-07-18 16:47:21 UTC (rev 38481)
@@ -1913,11 +1913,10 @@
        WM_operator_properties_gesture_border(ot, TRUE);
 }
 /*Jason*/
-static void findnearestWPvert__doClosest(void *userData, MVert *mv, int x, int 
y, int index)
+static void findnearestWPvert__doClosest(void *userData, MVert *mv, int x, int 
y, int UNUSED(index))
 {
        struct { MVert *mv; short dist, select; int mval[2]; } *data = userData;
        float temp = abs(data->mval[0]-x) + abs(data->mval[1]-y);
-       mv = mv+index;
        if((mv->flag & SELECT)==data->select)
                temp += 5;
 

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

Reply via email to