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:
authorMartin Poirier <theeth@yahoo.com>2007-05-02 03:03:17 +0400
committerMartin Poirier <theeth@yahoo.com>2007-05-02 03:03:17 +0400
commit0b0f0b0ffb0075ce889b7515ebfd822bf99426cb (patch)
treeb34ed1baf8e8e4b3c859d53822f94f825f7daf0e /source
parentaa7d7103b1ad57671f19deef2a43d84e72eac831 (diff)
== Bug Fixes ==
[ #6620 ] Problems to select faceloops in Select Only Visible mode [ #6131 ] Vertex snapping broken in shaded face + edge select mode Second bug was already "fixed", but that caused the other problem. Forced me to look more deeply into it find the real cause. So, faceloop problem is fixed by revert, the other is fixed by drawing vertice selection colors when in transform (previously was only when vert select was on).
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);