X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fanimation.cpp;h=94c96809214215aa890797a24a9c774ff0401f74;hb=a3c795f7b07afa3e8838ad143f8df7a8d10f1ad4;hp=37f583d5ec53b43324e67f7fcd1237a25bbefa80;hpb=b0dfcfb5cdd73e7515170c0598d6b061d33446a7;p=libs%2Fgl.git diff --git a/source/animation.cpp b/source/animation.cpp index 37f583d5..94c96809 100644 --- a/source/animation.cpp +++ b/source/animation.cpp @@ -18,9 +18,11 @@ Animation::Animation(): looping(false) { } -// Avoid synthesizing ~RefPtr in files including animation.h Animation::~Animation() -{ } +{ + for(vector::iterator i=curves.begin(); i!=curves.end(); ++i) + delete *i; +} void Animation::set_armature(const Armature &a) { @@ -265,6 +267,14 @@ void Animation::create_curve(CurveTarget target, int component, const T &extract while(n_control--) knots.pop_back(); + if(knots.size()==1) + { + knots.push_back(knots.back()); + knots.push_back(knots.back()); + knots.back().x += 1; + knots.push_back(knots.back()); + } + curves.push_back(new ValueCurve(target, component, knots)); }