Fix T61274: duplicate current workspace makes the workspace menu disappear.

Differential Revision: https://developer.blender.org/D4321
This commit is contained in:
Philipp Oeser 2019-02-19 16:41:19 +01:00 committed by Brecht Van Lommel
parent df8bd07313
commit 81aa2a93e9
Notes: blender-bot 2023-02-14 06:54:28 +01:00
Referenced by issue #61274, Duplicate current workspace makes the workspace menu disappear
1 changed files with 10 additions and 5 deletions

View File

@ -3919,8 +3919,10 @@ 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)
{
const bool is_property = (but->rnaprop != NULL);
#ifdef USE_DRAG_TOGGLE
{
if (is_property) {
int retval;
if (ui_do_but_ANY_drag_toggle(C, but, data, event, &retval)) {
return retval;
@ -3931,7 +3933,7 @@ static int ui_do_but_TAB(bContext *C, uiBlock *block, uiBut *but, uiHandleButton
if (data->state == BUTTON_STATE_HIGHLIGHT) {
const int rna_type = but->rnaprop ? RNA_property_type(but->rnaprop) : 0;
if (but->rnaprop &&
if (is_property &&
ELEM(rna_type, PROP_POINTER, PROP_STRING) &&
(but->custom_data != NULL) &&
(event->type == LEFTMOUSE) &&
@ -3940,9 +3942,12 @@ static int ui_do_but_TAB(bContext *C, uiBlock *block, uiBut *but, uiHandleButton
button_activate_state(C, but, BUTTON_STATE_TEXT_EDITING);
return WM_UI_HANDLER_BREAK;
}
else if (ELEM(event->type, LEFTMOUSE, PADENTER, RETKEY) && (event->val == KM_PRESS)) {
button_activate_state(C, but, BUTTON_STATE_EXIT);
return WM_UI_HANDLER_BREAK;
else if (ELEM(event->type, LEFTMOUSE, PADENTER, RETKEY)) {
int event_val = (is_property) ? KM_PRESS : KM_CLICK;
if (event->val == event_val) {
button_activate_state(C, but, BUTTON_STATE_EXIT);
return WM_UI_HANDLER_BREAK;
}
}
}
else if (data->state == BUTTON_STATE_TEXT_EDITING) {