[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [13802] trunk/blender/source/blender/src/ editmesh_tools.c:

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Feb 21 18:52:05 CET 2008


Revision: 13802
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=13802
Author:   blendix
Date:     2008-02-21 18:52:03 +0100 (Thu, 21 Feb 2008)

Log Message:
-----------

Fix for bug #6991: edge slide crash with the last vertex
missing rails.

Modified Paths:
--------------
    trunk/blender/source/blender/src/editmesh_tools.c

Modified: trunk/blender/source/blender/src/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/src/editmesh_tools.c	2008-02-21 16:57:58 UTC (rev 13801)
+++ trunk/blender/source/blender/src/editmesh_tools.c	2008-02-21 17:52:03 UTC (rev 13802)
@@ -4874,35 +4874,36 @@
 	nearest = NULL;
 	vertdist = -1;  
 	while(look) {	
+		tempsv  = BLI_ghash_lookup(vertgh,(EditVert*)look->link);
+		
+		if(!tempsv->up || !tempsv->down) {
+			error("Missing rails");
+			BLI_ghash_free(vertgh, NULL, (GHashValFreeFP)MEM_freeN);
+			BLI_linklist_free(vertlist,NULL); 
+			BLI_linklist_free(edgelist,NULL); 
+			return 0;
+		}
+
+		if(G.f & G_DRAW_EDGELEN) {
+			if(!(tempsv->up->f & SELECT)) {
+				tempsv->up->f |= SELECT;
+				tempsv->up->f2 |= 16;
+			} else {
+				tempsv->up->f2 |= ~16;
+			}
+			if(!(tempsv->down->f & SELECT)) {
+				tempsv->down->f |= SELECT;
+				tempsv->down->f2 |= 16;
+			} else {
+				tempsv->down->f2 |= ~16;
+			}
+		}
+
 		if(look->next != NULL) {
 			SlideVert *sv;
 
-			tempsv  = BLI_ghash_lookup(vertgh,(EditVert*)look->link);
-			sv		= BLI_ghash_lookup(vertgh,(EditVert*)look->next->link);
-			
-			if(!tempsv->up || !tempsv->down) {
-				error("Missing rails");
-				BLI_ghash_free(vertgh, NULL, (GHashValFreeFP)MEM_freeN);
-				BLI_linklist_free(vertlist,NULL); 
-				BLI_linklist_free(edgelist,NULL); 
-				return 0;
-			}
+			sv = BLI_ghash_lookup(vertgh,(EditVert*)look->next->link);
 
-			if(G.f & G_DRAW_EDGELEN) {
-				if(!(tempsv->up->f & SELECT)) {
-					tempsv->up->f |= SELECT;
-					tempsv->up->f2 |= 16;
-				} else {
-					tempsv->up->f2 |= ~16;
-				}
-				if(!(tempsv->down->f & SELECT)) {
-					tempsv->down->f |= SELECT;
-					tempsv->down->f2 |= 16;
-				} else {
-					tempsv->down->f2 |= ~16;
-				}
-			}
-
 			if(sv) {
 				float tempdist, co[2];
 





More information about the Bf-blender-cvs mailing list