diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-08-14 14:39:16 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-08-14 14:39:16 +0400 |
commit | c09034608c2a64ba3c9cec22c440fd7632939b81 (patch) | |
tree | 395128ffc565fb28ff31b5b30d092de04aafa22f /source/blender/blenkernel/intern/armature.c | |
parent | 7d67261a7b04dbccc39684a0be61e05a6bf101af (diff) |
Fix double-free happening when having proxy with motion paths
Make it so mpath is not shared between several bones now.
Fix suggested by Joshua Leung, thanks!
Diffstat (limited to 'source/blender/blenkernel/intern/armature.c')
-rw-r--r-- | source/blender/blenkernel/intern/armature.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index eca607c08df..f006710dc21 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -1605,7 +1605,10 @@ static void pose_proxy_synchronize(Object *ob, Object *from, int layer_protected pchanw.next = pchan->next; pchanw.parent = pchan->parent; pchanw.child = pchan->child; - + + pchanw.mpath = pchan->mpath; + pchan->mpath = NULL; + /* this is freed so copy a copy, else undo crashes */ if (pchanw.prop) { pchanw.prop = IDP_CopyProperty(pchanw.prop); |