Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2013-02-06 16:16:53 +0400
committerTon Roosendaal <ton@blender.org>2013-02-06 16:16:53 +0400
commitf0ce8a563d71a659c6ed0398b8bf3c51a8109cd0 (patch)
treebfc26070f89813f0ec1ea80dcd63deab57dfdea8 /source
parent2ea0826e7f8d1677e696df9097cb2322025a3b9a (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')
-rw-r--r--source/blender/blenkernel/intern/armature.c3
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 */
{