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:
authorTon Roosendaal <ton@blender.org>2004-10-13 13:17:10 +0400
committerTon Roosendaal <ton@blender.org>2004-10-13 13:17:10 +0400
commitb63f41a518a3a30c631cd1b885b7f1d5faecead9 (patch)
tree3f24e5c510988fe7e43c534ad278d3f3eb803fd1 /source
parentb711409f8d47b6b5466776876bfbb382f309f7dc (diff)
Fix for bug #1562
There's an ancient code in Blender to denote a projected vertex coordinate is invisble, it sets the x coord at 3200. :) This wasn't updated while coding loopselect, nor edge select. Causing in extreme zoomed in situations vertex selecting go wrong. Also added; option "don't load GUI" in fileselector doesn't get saved in files.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenloader/intern/writefile.c2
-rw-r--r--source/blender/src/editmesh_mods.c11
2 files changed, 4 insertions, 9 deletions
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index 5b8e1c542c8..d046f6ebc91 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -1490,7 +1490,7 @@ static void write_global(WriteData *wd)
fg.curscene= G.scene;
fg.displaymode= R.displaymode;
fg.winpos= R.winpos;
- fg.fileflags= G.fileflags;
+ fg.fileflags= (G.fileflags & ~G_FILE_NO_UI); // prevent to save this, is not good convention, and feature with concerns...
fg.globalf= G.f;
writestruct(wd, GLOB, "FileGlobal", 1, &fg);
diff --git a/source/blender/src/editmesh_mods.c b/source/blender/src/editmesh_mods.c
index af6375fd977..aa399005b45 100644
--- a/source/blender/src/editmesh_mods.c
+++ b/source/blender/src/editmesh_mods.c
@@ -380,7 +380,7 @@ static EditVert *findnearestvert_f(short *dist, short sel)
getmouseco_areawin(mval);
eve= acto->next;
while(eve) {
- if(eve->h==0) {
+ if(eve->h==0 && eve->xs!=3200) {
temp= abs(mval[0]- eve->xs)+ abs(mval[1]- eve->ys);
if( (eve->f & 1)==sel ) temp+=5;
if(temp< *dist) {
@@ -395,7 +395,7 @@ static EditVert *findnearestvert_f(short *dist, short sel)
if(*dist>3) {
eve= em->verts.first;
while(eve) {
- if(eve->h==0) {
+ if(eve->h==0 && eve->xs!=3200) {
temp= abs(mval[0]- eve->xs)+ abs(mval[1]- eve->ys);
if( (eve->f & 1)==sel ) temp+=5;
if(temp< *dist) {
@@ -465,12 +465,7 @@ static EditEdge *findnearestedge_f(short *dist)
if(em->edges.first==NULL) return NULL;
else eed= em->edges.first;
- /* reset flags */
- for(eve=em->verts.first; eve; eve=eve->next){
- eve->f &= ~2;
- }
-
- calc_meshverts_ext_f2(); /*sets (eve->f & 2) for vertices that aren't visible*/
+ calc_meshverts_ext_f2(); /* sets/clears (eve->f & 2) for vertices that aren't visible */
getmouseco_areawin(mval);
closest=NULL;