[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33186] trunk/blender/source/blender/ editors/transform/transform.c: patch from Shane Ambler, free memory when failing to create slide verts.

Campbell Barton ideasman42 at gmail.com
Fri Nov 19 18:29:52 CET 2010


Revision: 33186
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33186
Author:   campbellbarton
Date:     2010-11-19 18:29:51 +0100 (Fri, 19 Nov 2010)

Log Message:
-----------
patch from Shane Ambler, free memory when failing to create slide verts.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/transform/transform.c

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c	2010-11-19 17:16:25 UTC (rev 33185)
+++ trunk/blender/source/blender/editors/transform/transform.c	2010-11-19 17:29:51 UTC (rev 33186)
@@ -4271,6 +4271,7 @@
 			efa->e1->f1++;
 			if(efa->e1->f1 > 2) {
 				//BKE_report(op->reports, RPT_ERROR, "3+ face edge");
+				MEM_freeN(sld);
 				return 0;
 			}
 		}
@@ -4279,6 +4280,7 @@
 			efa->e2->f1++;
 			if(efa->e2->f1 > 2) {
 				//BKE_report(op->reports, RPT_ERROR, "3+ face edge");
+				MEM_freeN(sld);
 				return 0;
 			}
 		}
@@ -4287,6 +4289,7 @@
 			efa->e3->f1++;
 			if(efa->e3->f1 > 2) {
 				//BKE_report(op->reports, RPT_ERROR, "3+ face edge");
+				MEM_freeN(sld);
 				return 0;
 			}
 		}
@@ -4295,13 +4298,15 @@
 			efa->e4->f1++;
 			if(efa->e4->f1 > 2) {
 				//BKE_report(op->reports, RPT_ERROR, "3+ face edge");
+				MEM_freeN(sld);
 				return 0;
 			}
 		}
 		// Make sure loop is not 2 edges of same face
 		if(ct > 1) {
 		   //BKE_report(op->reports, RPT_ERROR, "Loop crosses itself");
-		   return 0;
+			MEM_freeN(sld);
+			return 0;
 		}
 	}
 
@@ -4313,6 +4318,7 @@
 	// Test for multiple segments
 	if(vertsel > numsel+1) {
 		//BKE_report(op->reports, RPT_ERROR, "Please choose a single edge loop");
+		MEM_freeN(sld);
 		return 0;
 	}
 
@@ -4349,6 +4355,7 @@
 		if(timesthrough >= numsel*2) {
 			BLI_linklist_free(edgelist,NULL);
 			//BKE_report(op->reports, RPT_ERROR, "Could not order loop");
+			MEM_freeN(sld);
 			return 0;
 		}
 	}





More information about the Bf-blender-cvs mailing list