diff options
Diffstat (limited to 'source/blender/editors/interface')
-rw-r--r-- | source/blender/editors/interface/interface.c | 2 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 7 | ||||
-rw-r--r-- | source/blender/editors/interface/view2d_ops.c | 6 |
3 files changed, 12 insertions, 3 deletions
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 18634e21a36..ca3be250a92 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -740,7 +740,7 @@ static void ui_is_but_sel(uiBut *but) push= 2; break; case KEYEVT: - if (value==-1) push= 1; + push= 2; break; case TOGBUT: case TOG: diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 1736cd1ef52..0987f0d2f2a 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -1805,7 +1805,10 @@ static int ui_do_but_KEYEVT(bContext *C, uiBut *but, uiHandleButtonData *data, w { if(data->state == BUTTON_STATE_HIGHLIGHT) { if(ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && event->val==KM_PRESS) { - button_activate_state(C, but, BUTTON_STATE_WAIT_KEY_EVENT); + short event= (short)ui_get_but_val(but); + /* hardcoded prevention from editing or assigning ESC */ + if(event!=ESCKEY) + button_activate_state(C, but, BUTTON_STATE_WAIT_KEY_EVENT); return WM_UI_HANDLER_BREAK; } } @@ -1814,7 +1817,7 @@ static int ui_do_but_KEYEVT(bContext *C, uiBut *but, uiHandleButtonData *data, w return WM_UI_HANDLER_CONTINUE; if(event->val==KM_PRESS) { - if(WM_key_event_string(event->type)[0]) + if(event->type!=ESCKEY && WM_key_event_string(event->type)[0]) ui_set_but_val(but, event->type); else data->cancel= 1; diff --git a/source/blender/editors/interface/view2d_ops.c b/source/blender/editors/interface/view2d_ops.c index 44b7f1d13da..ee2a50d12a9 100644 --- a/source/blender/editors/interface/view2d_ops.c +++ b/source/blender/editors/interface/view2d_ops.c @@ -151,6 +151,12 @@ static void view_pan_apply(bContext *C, wmOperator *op) /* request updates to be done... */ ED_area_tag_redraw(vpd->sa); UI_view2d_sync(vpd->sc, vpd->sa, v2d, V2D_LOCK_COPY); + + /* exceptions */ + if(vpd->sa->spacetype==SPACE_OUTLINER) { + SpaceOops *soops= vpd->sa->spacedata.first; + soops->storeflag |= SO_TREESTORE_REDRAW; + } } /* cleanup temp customdata */ |