forked from bartvdbraak/blender
fix for more crashes with baked fcurves
This commit is contained in:
parent
58bf4b1ab5
commit
ca7b6e2cd0
@ -372,6 +372,9 @@ void sample_fcurve (FCurve *fcu)
|
||||
tempFrameValCache *value_cache, *fp;
|
||||
int sfra, range;
|
||||
int i, n, nIndex;
|
||||
|
||||
if(fcu->bezt==NULL) /* ignore baked */
|
||||
return NULL;
|
||||
|
||||
/* find selected keyframes... once pair has been found, add keyframes */
|
||||
for (i=0, bezt=fcu->bezt; i < fcu->totvert; i++, bezt++) {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user