diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/src/drawobject.c | 3 | ||||
-rw-r--r-- | source/blender/src/editmesh_mods.c | 18 |
2 files changed, 5 insertions, 16 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index 4a3616c0c6e..a39df5b7140 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -4403,7 +4403,8 @@ void draw_object_backbufsel(Object *ob) // we draw edges always, for loop (select) tools em_wireoffs= bbs_mesh_wire(dm, em_solidoffs); - if(G.scene->selectmode & SCE_SELECT_VERTEX) + // we draw verts if vert select mode or if in transform (for snap). + if(G.scene->selectmode & SCE_SELECT_VERTEX || G.moving & G_TRANSFORM_EDIT) em_vertoffs= bbs_mesh_verts(dm, em_wireoffs); else em_vertoffs= em_wireoffs; diff --git a/source/blender/src/editmesh_mods.c b/source/blender/src/editmesh_mods.c index b25c9afd3c2..e3bc718858a 100644 --- a/source/blender/src/editmesh_mods.c +++ b/source/blender/src/editmesh_mods.c @@ -381,11 +381,7 @@ EditVert *findnearestvert(int *dist, short sel, short strict) short mval[2]; getmouseco_areawin(mval); - /* If possible, use OGL buffer selection - * This optimisation is possible only when draw mode is better than wire - * when ZBuffer Selection is on and when vertex select is on (otherwise, they aren't drawn) - */ - if(G.vd->drawtype>OB_WIRE && (G.vd->flag & V3D_ZBUF_SELECT) && (G.scene->selectmode & SCE_SELECT_VERTEX)){ + if(G.vd->drawtype>OB_WIRE && (G.vd->flag & V3D_ZBUF_SELECT)){ int distance; unsigned int index; EditVert *eve; @@ -494,11 +490,7 @@ EditEdge *findnearestedge(int *dist) getmouseco_areawin(mval); - /* If possible, use OGL buffer selection - * This optimisation is possible only when draw mode is better than wire - * when ZBuffer Selection is on and when edge select is on (otherwise, they aren't drawn) - */ - if(G.vd->drawtype>OB_WIRE && (G.vd->flag & V3D_ZBUF_SELECT) && (G.scene->selectmode & SCE_SELECT_EDGE)) { + if(G.vd->drawtype>OB_WIRE && (G.vd->flag & V3D_ZBUF_SELECT)) { int distance; unsigned int index = sample_backbuf_rect(mval, 50, em_solidoffs, em_wireoffs, &distance,0, NULL); EditEdge *eed = BLI_findlink(&G.editMesh->edges, index-1); @@ -564,11 +556,7 @@ static EditFace *findnearestface(int *dist) getmouseco_areawin(mval); - /* If possible, use OGL buffer selection - * This optimisation is possible only when draw mode is better than wire - * when ZBuffer Selection is on and when face select is on (otherwise, they aren't drawn) - */ - if(G.vd->drawtype>OB_WIRE && (G.vd->flag & V3D_ZBUF_SELECT) && (G.scene->selectmode & SCE_SELECT_FACE)) { + if(G.vd->drawtype>OB_WIRE && (G.vd->flag & V3D_ZBUF_SELECT)) { unsigned int index = sample_backbuf(mval[0], mval[1]); EditFace *efa = BLI_findlink(&G.editMesh->faces, index-1); |