Skip to content

Commit

Permalink
[PopupMenu] Fix incorrect vertical scroll bar visible at fractional c…
Browse files Browse the repository at this point in the history
…ontent scale
  • Loading branch information
Koyper committed Apr 25, 2024
1 parent 780e1a5 commit 4c5a904
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions scene/gui/popup_menu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@ Size2 PopupMenu::_get_contents_minimum_size() const {
}
}

minsize.height = Math::ceil(minsize.height); // Ensures enough height at fractional content scales to prevent the v_scroll_bar from showing.
return minsize;
}

Expand Down Expand Up @@ -2832,9 +2833,9 @@ void PopupMenu::popup(const Rect2i &p_bounds) {
if (!is_embedded()) {
float win_scale = get_parent_visible_window()->get_content_scale_factor();
set_content_scale_factor(win_scale);
Size2 minsize = get_contents_minimum_size();
minsize.height += 0.5 * win_scale; // Ensures enough height at fractional content scales to prevent the v_scroll_bar from showing.
set_min_size(minsize * win_scale);
Size2 minsize = get_contents_minimum_size() * win_scale;
minsize.height = Math::ceil(minsize.height); // Ensures enough height at fractional content scales to prevent the v_scroll_bar from showing.
set_min_size(minsize); // `height` is truncated here by the cast to Size2i for Window.min_size.
set_size(Vector2(0, 0)); // Shrinkwraps to min size.
}
Popup::popup(p_bounds);
Expand Down

0 comments on commit 4c5a904

Please sign in to comment.