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-05-09 06:37:12 +0400
committerJoshua Leung <aligorith@gmail.com>2009-05-09 06:37:12 +0400
commit029c27b0bed239cfc9b27b6ef92bcd3d87bcfd1b (patch)
treedb4c07d66a0564e8ec4864f04db15547649a2bb5 /source/blender/editors/space_action/action_select.c
parent5fa80e74a1d18ca8798b2b42f6b4ecc09787ba30 (diff)
2.5 Bugfixes:
More work on getting these marker-dependent tools working. They should finally work now :)
Diffstat (limited to 'source/blender/editors/space_action/action_select.c')
-rw-r--r--source/blender/editors/space_action/action_select.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c
index bb3f16dd506..d4782418be7 100644
--- a/source/blender/editors/space_action/action_select.c
+++ b/source/blender/editors/space_action/action_select.c
@@ -390,18 +390,19 @@ static void markers_selectkeys_between (bAnimContext *ac)
bAnimListElem *ale;
int filter;
- BeztEditFunc select_cb;
+ BeztEditFunc ok_cb, select_cb;
BeztEditData bed;
float min, max;
/* get extreme markers */
- ED_markers_get_minmax(&ac->markers, 1, &min, &max);
-
+ ED_markers_get_minmax(ac->markers, 1, &min, &max);
min -= 0.5f;
max += 0.5f;
/* get editing funcs + data */
+ ok_cb= ANIM_editkeyframes_ok(BEZT_OK_FRAMERANGE);
select_cb= ANIM_editkeyframes_select(SELECT_ADD);
+
memset(&bed, 0, sizeof(BeztEditData));
bed.f1= min;
bed.f2= max;
@@ -416,11 +417,11 @@ static void markers_selectkeys_between (bAnimContext *ac)
if (nob) {
ANIM_nla_mapping_apply_fcurve(nob, ale->key_data, 0, 1);
- ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, NULL, select_cb, NULL);
+ ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, ok_cb, select_cb, NULL);
ANIM_nla_mapping_apply_fcurve(nob, ale->key_data, 1, 1);
}
else {
- ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, NULL, select_cb, NULL);
+ ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, ok_cb, select_cb, NULL);
}
}
@@ -473,7 +474,7 @@ static void columnselect_action_keys (bAnimContext *ac, short mode)
break;
case ACTKEYS_COLUMNSEL_MARKERS_COLUMN: /* list of selected markers */
- ED_markers_make_cfra_list(&ac->markers, &bed.list, 1);
+ ED_markers_make_cfra_list(ac->markers, &bed.list, 1);
break;
default: /* invalid option */
@@ -765,6 +766,7 @@ static void mouse_action_keys (bAnimContext *ac, int mval[2], short select_mode,
if (ale == NULL) {
/* channel not found */
printf("Error: animation channel (index = %d) not found in mouse_action_keys() \n", channel_index);
+ return;
}
else {
/* found match - must return here... */