diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-07-31 11:51:32 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-07-31 12:50:13 +0300 |
commit | 77616571292ab1eeb9805797bfdd4525cc306923 (patch) | |
tree | 436f03bd37ef6566f0017a99f0135a84c67764b6 | |
parent | 94b81d51a6cf3fe819dfbd4b6155355892c5b05f (diff) |
UI: remove checks for other popovers when switching menu
I'm unable to redo the original report,
Revert fix for T43247..
-rw-r--r-- | source/blender/editors/interface/interface_handlers.c | 3 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_intern.h | 3 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_query.c | 26 |
3 files changed, 0 insertions, 32 deletions
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 245277c8d22..d48d674f7a3 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -10112,7 +10112,6 @@ static int ui_handler_region_menu(bContext *C, const wmEvent *event, void *UNUSE but = ui_region_find_active_but(ar); if (but) { - bScreen *screen = CTX_wm_screen(C); uiBut *but_other; uiHandleButtonData *data; @@ -10123,8 +10122,6 @@ static int ui_handler_region_menu(bContext *C, const wmEvent *event, void *UNUSE /* Make sure this popup isn't dragging a button. * can happen with popovers (see T67882). */ (ui_region_find_active_but(data->menu->region) == NULL) && - /* make sure mouse isn't inside another menu (see T43247) */ - (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))) { diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h index a5d9d35e2fe..fc65129ebf7 100644 --- a/source/blender/editors/interface/interface_intern.h +++ b/source/blender/editors/interface/interface_intern.h @@ -938,9 +938,6 @@ uiBut *ui_region_find_active_but(struct ARegion *ar) ATTR_WARN_UNUSED_RESULT; bool ui_region_contains_point_px(const struct ARegion *ar, int x, int y) ATTR_WARN_UNUSED_RESULT; bool ui_region_contains_rect_px(const struct ARegion *ar, const rcti *rect_px); -ARegion *ui_screen_region_find_mouse_over_ex(bScreen *screen, int x, int y); -ARegion *ui_screen_region_find_mouse_over(bScreen *screen, const struct wmEvent *event); - /* interface_context_menu.c */ bool ui_popup_context_menu_for_button(struct bContext *C, uiBut *but); void ui_popup_context_menu_for_panel(struct bContext *C, struct ARegion *ar, struct Panel *pa); diff --git a/source/blender/editors/interface/interface_query.c b/source/blender/editors/interface/interface_query.c index d0efb3714bc..462183b4245 100644 --- a/source/blender/editors/interface/interface_query.c +++ b/source/blender/editors/interface/interface_query.c @@ -570,29 +570,3 @@ bool ui_region_contains_rect_px(const ARegion *ar, const rcti *rect_px) } /** \} */ - -/* -------------------------------------------------------------------- */ -/** \name Screen (#bScreen) Spatial - * \{ */ - -/** Check if the cursor is over any popups. */ -ARegion *ui_screen_region_find_mouse_over_ex(bScreen *screen, int x, int y) -{ - for (ARegion *ar = screen->regionbase.first; ar; ar = ar->next) { - rcti winrct; - - ui_region_winrct_get_no_margin(ar, &winrct); - - if (BLI_rcti_isect_pt(&winrct, x, y)) { - return ar; - } - } - return NULL; -} - -ARegion *ui_screen_region_find_mouse_over(bScreen *screen, const wmEvent *event) -{ - return ui_screen_region_find_mouse_over_ex(screen, event->x, event->y); -} - -/** \} */ |