UI: minor change to active-default logic

Don't attempt to activate default button if it's already active.

Also expand on the flags comment.
This commit is contained in:
2019-03-28 00:57:46 +11:00
parent 57de9581e8
commit 5a1a633d04
2 changed files with 4 additions and 2 deletions

View File

@@ -193,7 +193,9 @@ enum {
UI_BUT_IMMEDIATE = 1 << 20,
UI_BUT_NO_UTF8 = 1 << 21,
/** For popups, pressing return activates this button, overriding the highlighed button. */
/** For popups, pressing return activates this button, overriding the highlighted button.
* For non-popups this is just used as a display hint for the user to let them
* know the action which is activated when pressing return (file selector for eg). */
UI_BUT_ACTIVE_DEFAULT = 1 << 23,
/** This but is "inside" a list item (currently used to change theme colors). */

View File

@@ -9242,7 +9242,7 @@ static int ui_handle_menu_event(
}
else if (ELEM(event->type, RETKEY, PADENTER) && event->val == KM_PRESS) {
uiBut *but_active = ui_region_find_first_but_test_flag(ar, UI_BUT_ACTIVE_DEFAULT, UI_HIDDEN);
if (but_active != NULL) {
if ((but_active != NULL) && (but_active->active == NULL)) {
ui_handle_button_activate(C, ar, but_active, BUTTON_ACTIVATE);
/* Get again below just incase it's disabled for eg. */
}