diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-12-08 13:36:46 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-12-08 13:36:46 +0300 |
commit | 0391b1ab780b34a149d3c4181d0fe676ef55199e (patch) | |
tree | fcc5611cd83129f9c475591d47fb47cea84dc491 /source/blender/blenkernel | |
parent | 445d077cf4ecc84b5d5cf422bfb2040186d60164 (diff) |
compile python driver expressions for faster re-evaluation.
approx 15-25x speedup
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/fcurve.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c index b3a6b773cf3..04fcd43b883 100644 --- a/source/blender/blenkernel/intern/fcurve.c +++ b/source/blender/blenkernel/intern/fcurve.c @@ -758,7 +758,12 @@ void fcurve_free_driver(FCurve *fcu) dtarn= dtar->next; driver_free_target(driver, dtar); } - + +#ifndef DISABLE_PYTHON + if(driver->expr_comp) + BPY_DECREF(driver->expr_comp); +#endif + /* free driver itself, then set F-Curve's point to this to NULL (as the curve may still be used) */ MEM_freeN(driver); fcu->driver= NULL; |