diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-09-30 08:59:14 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-09-30 08:59:14 +0400 |
commit | 2a21c1acbef1920a7bf177974119800c23a993c7 (patch) | |
tree | f1cfeb8544f0c31b1a198455e7349f57f2f417c1 /source/blender/blenkernel/intern/nla.c | |
parent | 8b6f5c171da4d9b165c5ba0628f0302430dbed2b (diff) |
Animato: Bugfixes
* #19501: Only the first user of multi-user IPO's were getting converted to AnimData.
Now, this AnimData gets converted multiple times - once for each user. This will mean that multi-user actions will no longer be multi-user after conversion though, although this could be fixed manually if there really is such a need.
* #19503: Nasty memory leaks when duplicating objects with AnimData
Fixed a few little oversights made when coding the copying code for NLA-data (which resulted in exponential copying-loops of doom), and sanitised the AnimData copying code for ID-blocks to be simpler to manage.
Diffstat (limited to 'source/blender/blenkernel/intern/nla.c')
-rw-r--r-- | source/blender/blenkernel/intern/nla.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c index 83ee71bfe40..3979586fb19 100644 --- a/source/blender/blenkernel/intern/nla.c +++ b/source/blender/blenkernel/intern/nla.c @@ -219,6 +219,9 @@ void copy_nladata (ListBase *dst, ListBase *src) if ELEM(NULL, dst, src) return; + /* clear out the destination list first for precautions... */ + dst->first= dst->last= NULL; + /* copy each NLA-track, one at a time */ for (nlt= src->first; nlt; nlt= nlt->next) { /* make a copy, and add the copy to the destination list */ |