[Bf-blender-cvs] [9520fc0ff72] blender2.8: Pose: optimize pose rebuild for copy-on-write.

Brecht Van Lommel noreply at git.blender.org
Mon Jun 11 21:05:51 CEST 2018


Commit: 9520fc0ff72cb510a0991889dcbbd2010c97c16e
Author: Brecht Van Lommel
Date:   Mon Jun 11 20:26:29 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB9520fc0ff72cb510a0991889dcbbd2010c97c16e

Pose: optimize pose rebuild for copy-on-write.

Ref T55442.

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

M	source/blender/blenkernel/intern/action.c

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

diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index 01f6eab261f..28534fc9783 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -426,7 +426,7 @@ bPoseChannel *BKE_pose_channel_verify(bPose *pose, const char *name)
 		return NULL;
 	
 	/* See if this channel exists */
-	chan = BLI_findstring(&pose->chanbase, name, offsetof(bPoseChannel, name));
+	chan = BKE_pose_channel_find_name(pose, name);
 	if (chan) {
 		return chan;
 	}
@@ -454,7 +454,9 @@ bPoseChannel *BKE_pose_channel_verify(bPose *pose, const char *name)
 	chan->protectflag = OB_LOCK_ROT4D;  /* lock by components by default */
 	
 	BLI_addtail(&pose->chanbase, chan);
-	BKE_pose_channels_hash_free(pose);
+	if (pose->chanhash) {
+		BLI_ghash_insert(pose->chanhash, chan->name, chan);
+	}
 	
 	return chan;
 }



More information about the Bf-blender-cvs mailing list