UI: replace button open event with activate on init

No user visible change.
This commit is contained in:
2019-03-22 00:54:07 +11:00
parent 2b21e7ab9a
commit e4694c057b
3 changed files with 4 additions and 19 deletions

View File

@@ -567,6 +567,7 @@ void UI_popup_block_invoke_ex(bContext *C, uiBlockCreateFunc func, void *arg, co
handle->opcontext = opcontext;
UI_popup_handlers_add(C, &window->modalhandlers, handle, 0);
UI_block_active_only_flagged_buttons(C, handle->region, handle->region->uiblocks.first);
WM_event_add_mousemove(C);
}
@@ -594,6 +595,7 @@ void UI_popup_block_ex(
// handle->opcontext = opcontext;
UI_popup_handlers_add(C, &window->modalhandlers, handle, 0);
UI_block_active_only_flagged_buttons(C, handle->region, handle->region->uiblocks.first);
WM_event_add_mousemove(C);
}

View File

@@ -1070,8 +1070,6 @@ static void node_find_call_cb(struct bContext *C, void *UNUSED(arg1), void *arg2
static uiBlock *node_find_menu(bContext *C, ARegion *ar, void *arg_op)
{
static char search[256] = "";
wmEvent event;
wmWindow *win = CTX_wm_window(C);
uiBlock *block;
uiBut *but;
wmOperator *op = (wmOperator *)arg_op;
@@ -1082,6 +1080,7 @@ static uiBlock *node_find_menu(bContext *C, ARegion *ar, void *arg_op)
but = uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 10, 10, 9 * UI_UNIT_X, UI_UNIT_Y, 0, 0, "");
UI_but_func_search_set(but, NULL, node_find_cb, op->type, false, node_find_call_cb, NULL);
UI_but_flag_enable(but, UI_BUT_ACTIVATE_ON_INIT);
/* fake button, it holds space for search items */
uiDefBut(block, UI_BTYPE_LABEL, 0, "", 10, 10 - UI_searchbox_size_y(), UI_searchbox_size_x(), UI_searchbox_size_y(), NULL, 0, 0, 0, 0, NULL);
@@ -1089,14 +1088,6 @@ static uiBlock *node_find_menu(bContext *C, ARegion *ar, void *arg_op)
/* Move it downwards, mouse over button. */
UI_block_bounds_set_popup(block, 6, (const int[2]){0, -UI_UNIT_Y});
// UI_but_active_only(C, ar, block, but); XXX using this here makes Blender hang - investigate
wm_event_init_from_window(win, &event);
event.type = EVT_BUT_OPEN;
event.val = KM_PRESS;
event.customdata = but;
event.customdatafree = false;
wm_event_add(win, &event);
return block;
}

View File

@@ -1587,8 +1587,6 @@ static uiBlock *wm_block_search_menu(bContext *C, ARegion *ar, void *userdata)
{
const struct SearchPopupInit_Data *init_data = userdata;
static char search[256] = "";
wmEvent event;
wmWindow *win = CTX_wm_window(C);
uiBlock *block;
uiBut *but;
@@ -1598,6 +1596,7 @@ static uiBlock *wm_block_search_menu(bContext *C, ARegion *ar, void *userdata)
but = uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, sizeof(search), 10, 10, init_data->size[0], UI_UNIT_Y, 0, 0, "");
UI_but_func_operator_search(but);
UI_but_flag_enable(but, UI_BUT_ACTIVATE_ON_INIT);
/* fake button, it holds space for search items */
uiDefBut(block, UI_BTYPE_LABEL, 0, "", 10, 10 - init_data->size[1],
@@ -1606,13 +1605,6 @@ static uiBlock *wm_block_search_menu(bContext *C, ARegion *ar, void *userdata)
/* Move it downwards, mouse over button. */
UI_block_bounds_set_popup(block, 6, (const int[2]){0, -UI_UNIT_Y});
wm_event_init_from_window(win, &event);
event.type = EVT_BUT_OPEN;
event.val = KM_PRESS;
event.customdata = but;
event.customdatafree = false;
wm_event_add(win, &event);
return block;
}