[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50948] trunk/blender/source/blender/ editors/transform: - transform' s createTransCurveVerts was using both CTX_data_edit_object(C) and t-> obedit, now only use t->obedit.
Campbell Barton
ideasman42 at gmail.com
Fri Sep 28 16:51:33 CEST 2012
Revision: 50948
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50948
Author: campbellbarton
Date: 2012-09-28 14:51:33 +0000 (Fri, 28 Sep 2012)
Log Message:
-----------
- transform's createTransCurveVerts was using both CTX_data_edit_object(C) and t->obedit, now only use t->obedit.
- freeing bez-triple handle data was being done in a loop for many types which don't support bezier handle data.
Modified Paths:
--------------
trunk/blender/source/blender/editors/transform/transform_conversions.c
trunk/blender/source/blender/editors/transform/transform_generics.c
Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c 2012-09-28 14:31:07 UTC (rev 50947)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c 2012-09-28 14:51:33 UTC (rev 50948)
@@ -1334,10 +1334,9 @@
return hdata;
}
-static void createTransCurveVerts(bContext *C, TransInfo *t)
+static void createTransCurveVerts(TransInfo *t)
{
- Object *obedit = CTX_data_edit_object(C);
- Curve *cu = obedit->data;
+ Curve *cu = t->obedit->data;
TransData *td = NULL;
Nurb *nu;
BezTriple *bezt;
@@ -1935,9 +1934,9 @@
}
}
-static void createTransEditVerts(bContext *C, TransInfo *t)
+static void createTransEditVerts(TransInfo *t)
{
- ToolSettings *ts = CTX_data_tool_settings(C);
+ ToolSettings *ts = t->scene->toolsettings;
TransData *tob = NULL;
TransDataExtension *tx = NULL;
BMEditMesh *em = BMEdit_FromObject(t->obedit);
@@ -6425,10 +6424,10 @@
else if (t->obedit) {
t->ext = NULL;
if (t->obedit->type == OB_MESH) {
- createTransEditVerts(C, t);
+ createTransEditVerts(t);
}
else if (ELEM(t->obedit->type, OB_CURVE, OB_SURF)) {
- createTransCurveVerts(C, t);
+ createTransCurveVerts(t);
}
else if (t->obedit->type == OB_LATTICE) {
createTransLatticeVerts(t);
Modified: trunk/blender/source/blender/editors/transform/transform_generics.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_generics.c 2012-09-28 14:31:07 UTC (rev 50947)
+++ trunk/blender/source/blender/editors/transform/transform_generics.c 2012-09-28 14:51:33 UTC (rev 50948)
@@ -1302,12 +1302,17 @@
/* postTrans can be called when nothing is selected, so data is NULL already */
if (t->data) {
- int a;
/* free data malloced per trans-data */
- for (a = 0, td = t->data; a < t->total; a++, td++) {
- if (td->flag & TD_BEZTRIPLE)
- MEM_freeN(td->hdata);
+ if ((t->obedit && ELEM(t->obedit->type, OB_CURVE, OB_SURF)) ||
+ (t->spacetype == SPACE_IPO))
+ {
+ int a;
+ for (a = 0, td = t->data; a < t->total; a++, td++) {
+ if (td->flag & TD_BEZTRIPLE) {
+ MEM_freeN(td->hdata);
+ }
+ }
}
MEM_freeN(t->data);
}
More information about the Bf-blender-cvs
mailing list