[Bf-blender-cvs] [8a2d2f1bb40] blender2.8: Fix: Tag armature for copy on write when selecting bones, so active bone gets updated

Joshua Leung noreply at git.blender.org
Thu May 3 15:18:50 CEST 2018


Commit: 8a2d2f1bb4059fb747615138baea2b806af96389
Author: Joshua Leung
Date:   Thu May 3 15:18:24 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB8a2d2f1bb4059fb747615138baea2b806af96389

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).

===================================================================

M	source/blender/editors/armature/pose_select.c

===================================================================

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);
 		}
 	}



More information about the Bf-blender-cvs mailing list