Skip to content

Commit

Permalink
Fix position and size of MenuButton popup
Browse files Browse the repository at this point in the history
Use the same logic as in OptionButton::show_popup
  • Loading branch information
Sauermann committed Jun 15, 2023
1 parent 824820d commit d41665e
Showing 1 changed file with 6 additions and 7 deletions.
13 changes: 6 additions & 7 deletions scene/gui/menu_button.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,14 @@ void MenuButton::show_popup() {
}

emit_signal(SNAME("about_to_popup"));
Size2 size = get_size() * get_viewport()->get_canvas_transform().get_scale();

popup->set_size(Size2(size.width, 0));
Point2 gp = get_screen_position();
gp.y += size.y;
Rect2 rect = get_screen_rect();
rect.position.y += rect.size.height;
rect.size.height = 0;
popup->set_size(rect.size);
if (is_layout_rtl()) {
gp.x += size.width - popup->get_size().width;
rect.position.x += rect.size.width - popup->get_size().width;
}
popup->set_position(gp);
popup->set_position(rect.position);

// If not triggered by the mouse, start the popup with its first enabled item focused.
if (!_was_pressed_by_mouse()) {
Expand Down

0 comments on commit d41665e

Please sign in to comment.