diff options
author | Ton Roosendaal <ton@blender.org> | 2013-02-06 16:16:53 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2013-02-06 16:16:53 +0400 |
commit | f0ce8a563d71a659c6ed0398b8bf3c51a8109cd0 (patch) | |
tree | bfc26070f89813f0ec1ea80dcd63deab57dfdea8 /source/blender/blenkernel/intern/armature.c | |
parent | 2ea0826e7f8d1677e696df9097cb2322025a3b9a (diff) |
Bugfix #34046
Linked Armature with local proxy, using feature "Custom shape at other bone" stopped working
on undo/redo.
It was actually a bug in the original commit (r26600, april 2010), storing a pointer from
the library bone into the local proxy bone.
That's strictly forbidden in Blender, but it never showed up because on every undo-redo a
complete proxy-sync was called again. To allow undo/redo I had to disable this syncing,
except for file load. Hence the feature got lost :)
The fix is simple; just store the pointer to its own local bone instead.
Diffstat (limited to 'source/blender/blenkernel/intern/armature.c')
-rw-r--r-- | source/blender/blenkernel/intern/armature.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index b678ef6d93c..480814a28c3 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -1655,7 +1655,8 @@ static void pose_proxy_synchronize(Object *ob, Object *from, int layer_protected else { /* always copy custom shape */ pchan->custom = pchanp->custom; - pchan->custom_tx = pchanp->custom_tx; + if (pchanp->custom_tx) + pchan->custom_tx = BKE_pose_channel_find_name(pose, pchanp->custom_tx->name); /* ID-Property Syncing */ { |