[Bf-blender-cvs] [f751e7d] blender-v2.75-release: Partial Fix T44997: Propagate pose on selected keyframes only included those after the current frame

Joshua Leung noreply at git.blender.org
Thu Jun 18 17:37:31 CEST 2015


Commit: f751e7dc77dd5cd69b2dd8073838d8472dc8070a
Author: Joshua Leung
Date:   Wed Jun 17 01:35:01 2015 +1200
Branches: blender-v2.75-release
https://developer.blender.org/rBf751e7dc77dd5cd69b2dd8073838d8472dc8070a

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