diff options
Diffstat (limited to 'source/blender/editors/interface/interface_handlers.c')
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 3f55cd5d731..43787abd352 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -916,6 +916,7 @@ static void ui_apply_but_TAB(bContext *C, uiBut *but, uiHandleButtonData *data) ui_but_update_edited(but); } else { + ui_but_value_set(but, but->hardmax); ui_apply_but_func(C, but); } @@ -3882,7 +3883,11 @@ static bool ui_but_is_mouse_over_icon_extra(const ARegion *region, uiBut *but, c static int ui_do_but_TAB(bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, const wmEvent *event) { if (data->state == BUTTON_STATE_HIGHLIGHT) { - if ((event->type == LEFTMOUSE) && + const int rna_type = RNA_property_type(but->rnaprop); + + if (ELEM(rna_type, PROP_POINTER, PROP_STRING) && + (but->custom_data != NULL) && + (event->type == LEFTMOUSE) && ((event->val == KM_DBL_CLICK) || event->ctrl)) { button_activate_state(C, but, BUTTON_STATE_TEXT_EDITING); |