Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-01-13 21:25:24 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-01-13 21:25:24 +0400
commitc5023e4bb9e10dea2a543e07b465df464752baa1 (patch)
treee529e457b0878a09ef424d11cf95bdf7e699fe54 /source/blender/editors/space_graph
parente516d1d7182f2f244d0883560e43885a0b41d796 (diff)
Fix #29879: ctrl+B border select with handles in the graph editor not selecting
the right keys/handles.
Diffstat (limited to 'source/blender/editors/space_graph')
-rw-r--r--source/blender/editors/space_graph/graph_select.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/editors/space_graph/graph_select.c b/source/blender/editors/space_graph/graph_select.c
index c1268ec61f0..617dd172c05 100644
--- a/source/blender/editors/space_graph/graph_select.c
+++ b/source/blender/editors/space_graph/graph_select.c
@@ -201,7 +201,7 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- int filter;
+ int filter, mapping_flag;
SpaceIpo *sipo= (SpaceIpo *)ac->sl;
KeyframeEditData ked;
@@ -226,8 +226,12 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
ked.data= &rectf;
/* treat handles separately? */
- if (incl_handles)
+ if (incl_handles) {
ked.iterflags |= KEYFRAME_ITER_INCL_HANDLES;
+ mapping_flag= 0;
+ }
+ else
+ mapping_flag= ANIM_UNITCONV_ONLYKEYS;
/* loop over data, doing border select */
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -235,7 +239,7 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
FCurve *fcu= (FCurve *)ale->key_data;
/* apply unit corrections */
- ANIM_unit_mapping_apply_fcurve(ac->scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYKEYS);
+ ANIM_unit_mapping_apply_fcurve(ac->scene, ale->id, ale->key_data, mapping_flag);
/* apply NLA mapping to all the keyframes, since it's easier than trying to
* guess when a callback might use something different
@@ -274,7 +278,7 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
ANIM_nla_mapping_apply_fcurve(adt, ale->key_data, 1, incl_handles==0);
/* unapply unit corrections */
- ANIM_unit_mapping_apply_fcurve(ac->scene, ale->id, ale->key_data, ANIM_UNITCONV_RESTORE|ANIM_UNITCONV_ONLYKEYS);
+ ANIM_unit_mapping_apply_fcurve(ac->scene, ale->id, ale->key_data, ANIM_UNITCONV_RESTORE|mapping_flag);
}
/* cleanup */