From 9e2499945147d687e3958a2ba35142fbdf8dd69c Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 29 Jul 2019 10:54:28 +0200 Subject: 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? --- source/blender/blenkernel/intern/armature.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index c36acd1eae1..16ce03f1828 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -2374,6 +2374,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); -- cgit v1.2.3