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
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2019-07-29 15:17:38 +0300
commit9e2499945147d687e3958a2ba35142fbdf8dd69c (patch)
treeafaae9d3b8f6c0de4c5589a6405ac1d0863f36b9
parent507ffee6e1f4a2b2795c7c93cd3f37f4df748ee9 (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?
-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 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);