[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26022] trunk/blender/source/blender/ windowmanager/intern/wm_gesture.c: fix for compiler error, probably unlikely but if 'v' is NULL it could crash.

Campbell Barton ideasman42 at gmail.com
Fri Jan 15 18:19:02 CET 2010


Revision: 26022
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26022
Author:   campbellbarton
Date:     2010-01-15 18:19:01 +0100 (Fri, 15 Jan 2010)

Log Message:
-----------
fix for compiler error, probably unlikely but if 'v' is NULL it could crash.

Modified Paths:
--------------
    trunk/blender/source/blender/windowmanager/intern/wm_gesture.c

Modified: trunk/blender/source/blender/windowmanager/intern/wm_gesture.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_gesture.c	2010-01-15 17:00:37 UTC (rev 26021)
+++ trunk/blender/source/blender/windowmanager/intern/wm_gesture.c	2010-01-15 17:19:01 UTC (rev 26022)
@@ -214,7 +214,7 @@
 
 static void draw_filled_lasso(wmGesture *gt)
 {
-	EditVert *v, *lastv=NULL, *firstv=NULL;
+	EditVert *v=NULL, *lastv=NULL, *firstv=NULL;
 	EditEdge *e;
 	EditFace *efa;
 	short *lasso= (short *)gt->customdata;
@@ -230,21 +230,24 @@
         if (firstv==NULL) firstv = v;
 	}
 	
-	BLI_addfilledge(firstv, v);
-	BLI_edgefill(0, 0);
+	/* highly unlikely this will fail, but could crash if (gt->points == 0) */
+	if(firstv) {
+		BLI_addfilledge(firstv, v);
+		BLI_edgefill(0, 0);
 	
-	glEnable(GL_BLEND);
-	glColor4f(1.0, 1.0, 1.0, 0.05);
-	glBegin(GL_TRIANGLES);
-	for (efa = fillfacebase.first; efa; efa=efa->next) {
-		glVertex2f(efa->v1->co[0], efa->v1->co[1]);
-		glVertex2f(efa->v2->co[0], efa->v2->co[1]);
-		glVertex2f(efa->v3->co[0], efa->v3->co[1]);
+		glEnable(GL_BLEND);
+		glColor4f(1.0, 1.0, 1.0, 0.05);
+		glBegin(GL_TRIANGLES);
+		for (efa = fillfacebase.first; efa; efa=efa->next) {
+			glVertex2f(efa->v1->co[0], efa->v1->co[1]);
+			glVertex2f(efa->v2->co[0], efa->v2->co[1]);
+			glVertex2f(efa->v3->co[0], efa->v3->co[1]);
+		}
+		glEnd();
+		glDisable(GL_BLEND);
+	
+		BLI_end_edgefill();
 	}
-	glEnd();
-	glDisable(GL_BLEND);
-	
-	BLI_end_edgefill();
 }
 
 static void wm_gesture_draw_lasso(wmWindow *win, wmGesture *gt)





More information about the Bf-blender-cvs mailing list