diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-10-19 12:01:30 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-10-19 12:01:30 +0400 |
commit | 0445ff1ae9ce619efa1eb065eecbc03e45e90d62 (patch) | |
tree | a4065c8e392daf636ac93c4298701f31ac2a8844 /source/blender/editors/transform/transform_generics.c | |
parent | 1a7ec53dc446f417592d077f3b736ad35f72ae2e (diff) |
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.
Diffstat (limited to 'source/blender/editors/transform/transform_generics.c')
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 16 |
1 files changed, 9 insertions, 7 deletions
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) |