Fix PopupMenu unresponsive on right side of menu
This commit is contained in:
parent
23ce1dbfd5
commit
034e123c1d
1 changed files with 6 additions and 5 deletions
|
@ -282,14 +282,15 @@ void PopupMenu::_gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
|
||||
// Make an area which does not include v scrollbar, so that items are not activated when dragging scrollbar.
|
||||
Rect2 item_clickable_area = control->get_global_rect();
|
||||
float scroll_width = scroll_container->get_v_scrollbar()->is_visible_in_tree() ? scroll_container->get_v_scrollbar()->get_size().width : 0;
|
||||
item_clickable_area.set_size(Size2(item_clickable_area.size.width - scroll_width, item_clickable_area.size.height));
|
||||
Rect2 item_clickable_area = scroll_container->get_rect();
|
||||
if (scroll_container->get_v_scrollbar()->is_visible_in_tree()) {
|
||||
item_clickable_area.size.width -= scroll_container->get_v_scrollbar()->get_size().width;
|
||||
}
|
||||
|
||||
Ref<InputEventMouseButton> b = p_event;
|
||||
|
||||
if (b.is_valid()) {
|
||||
if (!item_clickable_area.has_point(b->get_global_position())) {
|
||||
if (!item_clickable_area.has_point(b->get_position())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -331,7 +332,7 @@ void PopupMenu::_gui_input(const Ref<InputEvent> &p_event) {
|
|||
Ref<InputEventMouseMotion> m = p_event;
|
||||
|
||||
if (m.is_valid()) {
|
||||
if (!item_clickable_area.has_point(m->get_global_position())) {
|
||||
if (!item_clickable_area.has_point(m->get_position())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue