From 7a56ca7d6f4655a1c673b38f56b36953fcac4b15 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Fri, 26 Mar 2010 00:25:14 +0000 Subject: Bugfix #21739: Extend in the NLA crashes (Ekey) --- .../blender/editors/transform/transform_conversions.c | 6 +++--- source/blender/editors/transform/transform_ops.c | 17 ++++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) (limited to 'source/blender/editors/transform') diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 02e4ee5da91..8e8e2aeb5af 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2600,7 +2600,7 @@ static void createTransNlaData(bContext *C, TransInfo *t) float xmouse, ymouse; UI_view2d_region_to_view(&ac.ar->v2d, t->imval[0], t->imval[1], &xmouse, &ymouse); - t->frame_side= (xmouse > CFRA) ? 'R' : 'L'; // XXX use t->frame_side + t->frame_side= (xmouse > CFRA) ? 'R' : 'L'; } else { /* normal transform - both sides of current frame are considered */ @@ -2691,7 +2691,7 @@ static void createTransNlaData(bContext *C, TransInfo *t) tdn->handle= -1; /* now, link the transform data up to this data */ - if (t->mode == TFM_TRANSLATION) { + if (ELEM(t->mode, TFM_TRANSLATION, TFM_TIME_EXTEND)) { td->loc= tdn->h1; VECCOPY(td->iloc, tdn->h1); @@ -2722,7 +2722,7 @@ static void createTransNlaData(bContext *C, TransInfo *t) tdn->handle= (tdn->handle) ? 2 : 1; /* now, link the transform data up to this data */ - if (t->mode == TFM_TRANSLATION) { + if (ELEM(t->mode, TFM_TRANSLATION, TFM_TIME_EXTEND)) { td->loc= tdn->h2; VECCOPY(td->iloc, tdn->h2); diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c index b12de7fd6f8..fb1282495a4 100644 --- a/source/blender/editors/transform/transform_ops.c +++ b/source/blender/editors/transform/transform_ops.c @@ -869,30 +869,29 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac case SPACE_ACTION: km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", GKEY, KM_PRESS, 0, 0); RNA_int_set(km->ptr, "mode", TFM_TIME_TRANSLATE); - + km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", EVT_TWEAK_S, KM_ANY, 0, 0); RNA_int_set(km->ptr, "mode", TFM_TIME_TRANSLATE); - + km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", EKEY, KM_PRESS, 0, 0); RNA_int_set(km->ptr, "mode", TFM_TIME_EXTEND); - + km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", SKEY, KM_PRESS, 0, 0); RNA_int_set(km->ptr, "mode", TFM_TIME_SCALE); - + km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", TKEY, KM_PRESS, 0, 0); RNA_int_set(km->ptr, "mode", TFM_TIME_SLIDE); break; case SPACE_IPO: km= WM_keymap_add_item(keymap, OP_TRANSLATION, GKEY, KM_PRESS, 0, 0); - + km= WM_keymap_add_item(keymap, OP_TRANSLATION, EVT_TWEAK_S, KM_ANY, 0, 0); - - // XXX the 'mode' identifier here is not quite right + km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", EKEY, KM_PRESS, 0, 0); RNA_int_set(km->ptr, "mode", TFM_TIME_EXTEND); - + km = WM_keymap_add_item(keymap, OP_ROTATION, RKEY, KM_PRESS, 0, 0); - + km = WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0); break; case SPACE_NLA: -- cgit v1.2.3