Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/blender/src/drawobject.c3
-rw-r--r--source/blender/src/editmesh_mods.c18
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);