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
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2019-07-29 11:54:28 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2019-07-29 11:54:28 +0300
commit0528ef0b4dd10508c4e94cbedc5d3d03fbbe380b (patch)
tree055100d138224d4fd51313d2c3cb79522b200d87 /source/blender/blenkernel/intern/armature.c
parenta38759f017fb7e975e56f7121113cb8c8aab843b (diff)
Fix T67777: Linked rig crashes Blender 2.8 RC3 on File|New.
Sync back between proxy armature pose and linked one was not properly clearing the posebone runtime data, ending up with shared memory between both (direct cause of reported crash), and probably some other nasty issues. While this crash is not critical in itself, I would suggest to add this fix to 2.80 branch, as it is super-safe and simple, and is probably fixing some other un-reported issues?
Diffstat (limited to 'source/blender/blenkernel/intern/armature.c')
-rw-r--r--source/blender/blenkernel/intern/armature.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 3621926e93b..9caef48ec69 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -2403,6 +2403,9 @@ static void pose_proxy_synchronize(Object *ob, Object *from, int layer_protected
pchanw.mpath = pchan->mpath;
pchan->mpath = NULL;
+ /* Reset runtime data, we don't want to share that with the proxy. */
+ BKE_pose_channel_runtime_reset(&pchanw.runtime);
+
/* this is freed so copy a copy, else undo crashes */
if (pchanw.prop) {
pchanw.prop = IDP_CopyProperty(pchanw.prop);