diff options
author | Joshua Leung <aligorith@gmail.com> | 2018-05-03 16:18:24 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2018-05-03 16:18:39 +0300 |
commit | 8a2d2f1bb4059fb747615138baea2b806af96389 (patch) | |
tree | afa9eb38ef18e8b895b00372da46a25bf64f0758 | |
parent | a086f61df792048f39118c32e2cd602fc4a8ac28 (diff) |
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).
-rw-r--r-- | source/blender/editors/armature/pose_select.c | 6 |
1 files changed, 6 insertions, 0 deletions
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); } } |