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:
authorJoshua Leung <aligorith@gmail.com>2009-09-11 13:09:54 +0400
committerJoshua Leung <aligorith@gmail.com>2009-09-11 13:09:54 +0400
commit40576677b1dff5373d5b673b599ea9beb094b1ea (patch)
tree041ae7cce55736e0bdd6e81c3e104df4cc8aaf4e /source/blender/editors/space_graph
parent2b5f89ed9f66292e3f6736c85d91b85a3c709210 (diff)
2.5: Two Bugfixes
* Mesh Deform modifier now correctly shows Bind/Unbind buttons. Previously, only Bind got shown... * Selecting keyframes in the Graph Editor using Border Select now allows the keyframes to be editable afterwards. Previously, the curves weren't getting selected afterwards, therefore, the poll operators would skip those curves.
Diffstat (limited to 'source/blender/editors/space_graph')
-rw-r--r--source/blender/editors/space_graph/graph_select.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/editors/space_graph/graph_select.c b/source/blender/editors/space_graph/graph_select.c
index 43f35862315..728c9310a47 100644
--- a/source/blender/editors/space_graph/graph_select.c
+++ b/source/blender/editors/space_graph/graph_select.c
@@ -234,6 +234,7 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
/* loop over data, doing border select */
for (ale= anim_data.first; ale; ale= ale->next) {
AnimData *adt= ANIM_nla_mapping_get(ac, ale);
+ FCurve *fcu= (FCurve *)ale->key_data;
/* set horizontal range (if applicable) */
if (mode != BEZT_OK_VALUERANGE) {
@@ -253,7 +254,13 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
}
/* select keyframes that are in the appropriate places */
- ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, ok_cb, select_cb, NULL);
+ ANIM_fcurve_keys_bezier_loop(&bed, fcu, ok_cb, select_cb, NULL);
+
+ /* select the curve too
+ * NOTE: this should really only happen if the curve got touched...
+ */
+ if (selectmode == SELECT_ADD)
+ fcu->flag |= FCURVE_SELECTED;
}
/* cleanup */