From 0445ff1ae9ce619efa1eb065eecbc03e45e90d62 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 19 Oct 2009 08:01:30 +0000 Subject: Give sequencer its own transform freeing function. Updating the sequencer after transform could not use special_aftertrans_update because it relies on data that is freed theeth: moved the customFree function to run before freeing t->data, t->data2d in postTrans(), checked that customData is not needed. --- source/blender/editors/transform/transform_generics.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'source/blender/editors/transform/transform_generics.c') diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index a7a35c281fd..c2046621c3a 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1052,6 +1052,15 @@ void postTrans (TransInfo *t) ED_region_draw_cb_exit(t->ar->type, t->draw_handle); } + + if (t->customFree) { + /* Can take over freeing t->data and data2d etc... */ + t->customFree(t); + } + else if (t->customData) { + MEM_freeN(t->customData); + } + /* postTrans can be called when nothing is selected, so data is NULL already */ if (t->data) { int a; @@ -1080,13 +1089,6 @@ void postTrans (TransInfo *t) { MEM_freeN(t->mouse.data); } - - if (t->customFree) { - t->customFree(t); - } - else if (t->customData) { - MEM_freeN(t->customData); - } } void applyTransObjects(TransInfo *t) -- cgit v1.2.3