diff --git a/source/blender/editors/animation/anim_ops.c b/source/blender/editors/animation/anim_ops.c index 80b9ba9801e..5aa0d50bdbf 100644 --- a/source/blender/editors/animation/anim_ops.c +++ b/source/blender/editors/animation/anim_ops.c @@ -172,12 +172,20 @@ static int change_frame_modal(bContext *C, wmOperator *op, wmEvent *event) { /* execute the events */ switch (event->type) { + case ESCKEY: + change_frame_exit(C, op); + return OPERATOR_FINISHED; + case MOUSEMOVE: RNA_int_set(op->ptr, "frame", frame_from_event(C, event)); change_frame_apply(C, op); break; - - case LEFTMOUSE: + + case LEFTMOUSE: + case RIGHTMOUSE: + /* we check for either mouse-button to end, as checking for ACTIONMOUSE (which is used to init + * the modal op) doesn't work for some reason + */ if (event->val==0) { change_frame_exit(C, op); return OPERATOR_FINISHED; @@ -378,11 +386,12 @@ void ED_keymap_anim(wmWindowManager *wm) { ListBase *keymap= WM_keymap_listbase(wm, "Animation", 0, 0); - /* frame management */ - WM_keymap_verify_item(keymap, "ANIM_OT_change_frame", LEFTMOUSE, KM_PRESS, 0, 0); + /* frame management */ + /* NOTE: 'ACTIONMOUSE' not 'LEFTMOUSE', as user may have swapped mouse-buttons */ + WM_keymap_verify_item(keymap, "ANIM_OT_change_frame", ACTIONMOUSE, KM_PRESS, 0, 0); WM_keymap_verify_item(keymap, "ANIM_OT_time_toggle", TKEY, KM_PRESS, KM_CTRL, 0); - /* preview range */ + /* preview range */ WM_keymap_verify_item(keymap, "ANIM_OT_previewrange_define", PKEY, KM_PRESS, KM_CTRL, 0); WM_keymap_verify_item(keymap, "ANIM_OT_previewrange_clear", PKEY, KM_PRESS, KM_ALT, 0); } diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index bc90728f23e..c22be24fd0b 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -771,7 +771,7 @@ static char *windowtype_pup(void) "|%l" // 33 "|Graph Editor %x2" //54 - "|DopeSheet Editor %x12" //73 + "|DopeSheet %x12" //73 "|NLA Editor %x13" //94 "|%l" //97