diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-03-03 16:20:18 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-03-03 16:20:18 +0300 |
commit | ca7b6e2cd03c51b59b72dccda6fb5acb38bc8e07 (patch) | |
tree | e0c2bf6c0e3340a350344a6514ca92631de5887d /source/blender/editors/transform | |
parent | 58bf4b1ab59629c19dd82e060b9d19009bbd3cc3 (diff) |
fix for more crashes with baked fcurves
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 2 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 9d236bd47db..e5e6809bf13 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2912,7 +2912,7 @@ static void posttrans_fcurve_clean (FCurve *fcu) /* allocate memory for the cache */ // TODO: investigate using BezTriple columns instead? - if (fcu->totvert == 0) + if (fcu->totvert == 0 || fcu->bezt==NULL) return; selcache= MEM_callocN(sizeof(float)*fcu->totvert, "FCurveSelFrameNums"); len= 0; diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 27eb48614d2..4ca821e2b01 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -323,10 +323,13 @@ static void animrecord_check_state (Scene *scene, ID *id, wmTimer *animtimer) static int fcu_test_selected(FCurve *fcu) { - BezTriple *bezt; + BezTriple *bezt= fcu->bezt; int i; - for (i=0, bezt=fcu->bezt; i < fcu->totvert; i++, bezt++) { + if(bezt==NULL) /* ignore baked */ + return 0; + + for (i=0; i < fcu->totvert; i++, bezt++) { if (BEZSELECTED(bezt)) return 1; } |