[Bf-blender-cvs] [5ca3f3d] master: Partial Fix T44997: Propagate pose on selected keyframes only included those after the current frame

Joshua Leung noreply at git.blender.org
Tue Jun 16 15:51:42 CEST 2015


Commit: 5ca3f3d81169911836820d2ecd857fbc66be7c84
Author: Joshua Leung
Date:   Wed Jun 17 01:35:01 2015 +1200
Branches: master
https://developer.blender.org/rB5ca3f3d81169911836820d2ecd857fbc66be7c84

Partial Fix T44997: Propagate pose on selected keyframes only included those after the current frame

This behaviour was confusing, since "selected keyframes" suggests that it covers
all selected keyframes (instead of trying to do this based on frame ranges).

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

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

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

diff --git a/source/blender/editors/armature/pose_slide.c b/source/blender/editors/armature/pose_slide.c
index 1a1108a..d583fd8 100644
--- a/source/blender/editors/armature/pose_slide.c
+++ b/source/blender/editors/armature/pose_slide.c
@@ -1173,13 +1173,20 @@ static void pose_propagate_fcurve(wmOperator *op, Object *ob, FCurve *fcu,
 	 *	  since it may be as of yet unkeyed
 	 *  - if starting before the starting frame, don't touch the key, as it may have had some valid
 	 *	  values
+	 *  - if only doing selected keyframes, start from the first one
 	 */
-	match = binarysearch_bezt_index(fcu->bezt, startFrame, fcu->totvert, &keyExists);
-	
-	if (fcu->bezt[match].vec[1][0] < startFrame)
-		i = match + 1;
-	else
-		i = match;
+	if (mode != POSE_PROPAGATE_SELECTED_KEYS) {
+		match = binarysearch_bezt_index(fcu->bezt, startFrame, fcu->totvert, &keyExists);
+		
+		if (fcu->bezt[match].vec[1][0] < startFrame)
+			i = match + 1;
+		else
+			i = match;
+	}
+	else {
+		/* selected - start from first keyframe */
+		i = 0;
+	}
 	
 	for (bezt = &fcu->bezt[i]; i < fcu->totvert; i++, bezt++) {
 		/* additional termination conditions based on the operator 'mode' property go here... */




More information about the Bf-blender-cvs mailing list