diff options
Diffstat (limited to 'source/blender/editors/interface/interface_region_menu_popup.c')
-rw-r--r-- | source/blender/editors/interface/interface_region_menu_popup.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/source/blender/editors/interface/interface_region_menu_popup.c b/source/blender/editors/interface/interface_region_menu_popup.c index 0f3e9371ee9..52fd9efe2cd 100644 --- a/source/blender/editors/interface/interface_region_menu_popup.c +++ b/source/blender/editors/interface/interface_region_menu_popup.c @@ -193,19 +193,12 @@ static uiBlock *ui_block_func_POPUP(bContext *C, uiPopupBlockHandle *handle, voi minwidth = UI_MENU_WIDTH_MIN; } - /* settings (typically rna-enum-popups) show above the button, - * menu's like file-menu, show below */ if (pup->block->direction != 0) { /* allow overriding the direction from menu_func */ direction = pup->block->direction; } - else if ((pup->but->type == UI_BTYPE_PULLDOWN) || - (UI_but_menutype_get(pup->but) != NULL)) - { - direction = UI_DIR_DOWN; - } else { - direction = UI_DIR_UP; + direction = UI_DIR_DOWN; } } else { @@ -229,6 +222,13 @@ static uiBlock *ui_block_func_POPUP(bContext *C, uiPopupBlockHandle *handle, voi UI_block_flag_enable(block, UI_BLOCK_MOVEMOUSE_QUIT); + /* Flip layout because rna enum list ordered in reverse. */ + if ((pup->but && pup->but->type != UI_BTYPE_PULLDOWN) && + (UI_but_menutype_get(pup->but) == NULL)) + { + UI_block_order_flip(block); + } + if (pup->popup) { uiBut *bt; int offset[2]; |