Page MenuHome

trunk.transformconversionsleak.1.patch

trunk.transformconversionsleak.1.patch

Index: source/blender/editors/transform/transform_conversions.c
===================================================================
--- source/blender/editors/transform/transform_conversions.c (revision 40503)
+++ source/blender/editors/transform/transform_conversions.c (working copy)
@@ -1980,8 +1980,8 @@
EditMesh *em = ((Mesh *)t->obedit->data)->edit_mesh;
EditVert *eve;
EditVert *eve_act = NULL;
- float *mappedcos = NULL, *quats= NULL;
- float mtx[3][3], smtx[3][3], (*defmats)[3][3] = NULL, (*defcos)[3] = NULL;
+ float *quats= NULL;
+ float mtx[3][3], smtx[3][3], (*defmats)[3][3] = NULL;
int count=0, countsel=0, a, totleft;
int propmode = (t->flag & T_PROP_EDIT) ? (t->flag & (T_PROP_EDIT | T_PROP_CONNECTED)) : 0;
int mirror = 0;
@@ -2034,7 +2034,9 @@
}
/* note: in prop mode we need at least 1 selected */
- if (countsel==0) return;
+ if (countsel==0) {
+ goto cleanup;
+ }
/* check active */
if (em->selected.last) {
@@ -2060,6 +2062,8 @@
/* detect CrazySpace [tm] */
if(modifiers_getCageIndex(t->scene, t->obedit, NULL, 1)>=0) {
if(modifiers_isCorrectableDeformed(t->obedit)) {
+ float *mappedcos = NULL, (*defcos)[3] = NULL;
+
/* check if we can use deform matrices for modifier from the
start up to stack, they are more accurate than quats */
totleft= editmesh_get_first_deform_matrices(t->scene, t->obedit, em, &defmats, &defcos);
@@ -2165,7 +2169,8 @@
}
}
}
-
+
+cleanup:
/* crazy space free */
if(quats)
MEM_freeN(quats);

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
5c/59/f0f61ca2647051e4314be42d4d4b

Event Timeline