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).
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user