Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-03-03 16:20:18 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-03-03 16:20:18 +0300
commitca7b6e2cd03c51b59b72dccda6fb5acb38bc8e07 (patch)
treee0c2bf6c0e3340a350344a6514ca92631de5887d /source/blender/editors/transform
parent58bf4b1ab59629c19dd82e060b9d19009bbd3cc3 (diff)
fix for more crashes with baked fcurves
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r--source/blender/editors/transform/transform_conversions.c2
-rw-r--r--source/blender/editors/transform/transform_generics.c7
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;
}