From 8a2d2f1bb4059fb747615138baea2b806af96389 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Thu, 3 May 2018 15:18:24 +0200 Subject: [PATCH] Fix: Tag armature for copy on write when selecting bones, so active bone gets updated Note: This still needs some copy-on-write magic to get the bone pointers to get remapped properly (e.g. evaluated pose still refers to original arm->bones, and arm->act_bone isn't getting remapped). --- source/blender/editors/armature/pose_select.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/blender/editors/armature/pose_select.c b/source/blender/editors/armature/pose_select.c index c1c5afaca54..9087a8879d6 100644 --- a/source/blender/editors/armature/pose_select.c +++ b/source/blender/editors/armature/pose_select.c @@ -129,6 +129,9 @@ void ED_pose_bone_select(Object *ob, bPoseChannel *pchan, bool select) /* send necessary notifiers */ WM_main_add_notifier(NC_GEOM | ND_DATA, ob); + + /* tag armature for copy-on-write update (since act_bone is in armature not object) */ + DEG_id_tag_update(&arm->id, DEG_TAG_COPY_ON_WRITE); } } @@ -220,6 +223,9 @@ bool ED_armature_pose_select_pick_with_buffer( */ DEG_id_tag_update(&ob->id, OB_RECALC_DATA); } + + /* tag armature for copy-on-write update (since act_bone is in armature not object) */ + DEG_id_tag_update(&arm->id, DEG_TAG_COPY_ON_WRITE); } }