Fix arrow key menu navigation using wrong direction
Steps to reproduce were: * Right click in 3D View (context menu) press up or down arrow. Or: * Ctrl+Shift+O (Open Recent menu) press up or down arrow.
This commit is contained in:
parent
31746e1baa
commit
15fe7f3d93
|
@ -133,6 +133,8 @@ enum {
|
|||
/** #uiBlock.flag (controls) */
|
||||
enum {
|
||||
UI_BLOCK_LOOP = 1 << 0,
|
||||
/** Indicate that items in a popup are drawn with inverted order. Used for arrow key navigation
|
||||
* so that it knows to invert the navigation direction to match the drawing order. */
|
||||
UI_BLOCK_IS_FLIP = 1 << 1,
|
||||
UI_BLOCK_NO_FLIP = 1 << 2,
|
||||
UI_BLOCK_NUMSELECT = 1 << 3,
|
||||
|
|
|
@ -189,7 +189,7 @@ static void ui_popup_menu_create_block(bContext *C,
|
|||
|
||||
pup->block = UI_block_begin(C, nullptr, block_name, UI_EMBOSS_PULLDOWN);
|
||||
if (!pup->but) {
|
||||
pup->block->flag |= UI_BLOCK_IS_FLIP | UI_BLOCK_NO_FLIP;
|
||||
pup->block->flag |= UI_BLOCK_NO_FLIP;
|
||||
}
|
||||
if (title && title[0]) {
|
||||
pup->block->flag |= UI_BLOCK_POPUP_MEMORY;
|
||||
|
@ -486,6 +486,8 @@ uiPopupMenu *UI_popup_menu_begin_ex(bContext *C,
|
|||
pup->title = title;
|
||||
|
||||
ui_popup_menu_create_block(C, pup, title, block_name);
|
||||
/* Further buttons will be laid out top to bottom by default. */
|
||||
pup->block->flag |= UI_BLOCK_IS_FLIP;
|
||||
|
||||
/* create in advance so we can let buttons point to retval already */
|
||||
pup->block->handle = MEM_cnew<uiPopupBlockHandle>(__func__);
|
||||
|
|
Loading…
Reference in New Issue