Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2020-01-27 11:48:54 +0300
committerCampbell Barton <ideasman42@gmail.com>2020-01-27 11:48:54 +0300
commit649659aa24604ba1af7da4d2e2c896b6402d6270 (patch)
tree359f9a0282b334c9ff291843d8121deb93b21ee1 /source/blender/editors/interface
parent65e42d7b32ae244368e54c9676d354f4a5f1ae8b (diff)
parent756b9acaf552bb82596f2239f522467372e4e661 (diff)
Merge branch 'blender-v2.82-release'
Diffstat (limited to 'source/blender/editors/interface')
-rw-r--r--source/blender/editors/interface/interface_handlers.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 16996681695..ab70d4b87e1 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -10616,7 +10616,13 @@ static int ui_handler_region_menu(bContext *C, const wmEvent *event, void *UNUSE
(ui_screen_region_find_mouse_over(screen, event) == NULL) &&
(ELEM(but->type, UI_BTYPE_PULLDOWN, UI_BTYPE_POPOVER, UI_BTYPE_MENU)) &&
(but_other = ui_but_find_mouse_over(ar, event)) && (but != but_other) &&
- (ELEM(but_other->type, UI_BTYPE_PULLDOWN, UI_BTYPE_POPOVER, UI_BTYPE_MENU))) {
+ (ELEM(but_other->type, UI_BTYPE_PULLDOWN, UI_BTYPE_POPOVER, UI_BTYPE_MENU)) &&
+ /* Hover-opening menu's doesn't work well for buttons over one another
+ * along the same axis the menu is opening on (see T71719). */
+ (((data->menu->direction & (UI_DIR_LEFT | UI_DIR_RIGHT)) &&
+ BLI_rctf_isect_rect_x(&but->rect, &but_other->rect, NULL)) ||
+ ((data->menu->direction & (UI_DIR_DOWN | UI_DIR_UP)) &&
+ BLI_rctf_isect_rect_y(&but->rect, &but_other->rect, NULL)))) {
/* if mouse moves to a different root-level menu button,
* open it to replace the current menu */
if ((but_other->flag & UI_BUT_DISABLED) == 0) {