[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31017] trunk/blender/source/blender/ editors/transform: bugfix [#23158] Translate operator leaks memory if nothing selected

Campbell Barton ideasman42 at gmail.com
Wed Aug 4 00:36:59 CEST 2010


Revision: 31017
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31017
Author:   campbellbarton
Date:     2010-08-04 00:36:59 +0200 (Wed, 04 Aug 2010)

Log Message:
-----------
bugfix [#23158] Translate operator leaks memory if nothing selected

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

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c	2010-08-03 22:26:44 UTC (rev 31016)
+++ trunk/blender/source/blender/editors/transform/transform.c	2010-08-03 22:36:59 UTC (rev 31017)
@@ -1460,6 +1460,7 @@
 	}
 }
 
+/* note: caller needs to free 't' on a 0 return */
 int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int mode)
 {
 	int options = 0;

Modified: trunk/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_ops.c	2010-08-03 22:26:44 UTC (rev 31016)
+++ trunk/blender/source/blender/editors/transform/transform_ops.c	2010-08-03 22:36:59 UTC (rev 31017)
@@ -281,7 +281,7 @@
 	int retval = 1;
 	if (op->customdata == NULL)
 	{
-		TransInfo *t = MEM_callocN(sizeof(TransInfo), "TransInfo data");
+		TransInfo *t = MEM_callocN(sizeof(TransInfo), "TransInfo data2");
 		TransformModeItem *tmode;
 		int mode = -1;
 
@@ -303,7 +303,12 @@
 		G.moving = 1;
 
 		/* store data */
-		op->customdata = t;
+		if(retval) {
+			op->customdata = t;
+		}
+		else {
+			MEM_freeN(t);
+		}
 	}
 
 	return retval; /* return 0 on error */





More information about the Bf-blender-cvs mailing list