diff options
author | Markus Sauermann <6299227+Sauermann@users.noreply.github.com> | 2022-11-25 21:49:56 +0100 |
---|---|---|
committer | Markus Sauermann <6299227+Sauermann@users.noreply.github.com> | 2023-02-06 20:58:57 +0100 |
commit | 084a4addc49e6864d9d6c4e1bb7b11d3ad6c9089 (patch) | |
tree | 2bb7053cf54b61fc8b2e4c9d07b213e222a70287 /scene/gui | |
parent | bcc3dff7f4564269b93ede164b0b4f24fbd8c7e5 (diff) |
Fix Screen-Transform missing in Button Size in OptionButton::show_popup
The button size is affected by the screen transform, which was previously
not taken into consideration.
Diffstat (limited to 'scene/gui')
-rw-r--r-- | scene/gui/option_button.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/scene/gui/option_button.cpp b/scene/gui/option_button.cpp index 027c97b383..dc1d6cc73e 100644 --- a/scene/gui/option_button.cpp +++ b/scene/gui/option_button.cpp @@ -491,9 +491,11 @@ void OptionButton::show_popup() { return; } - Size2 button_size = get_global_transform_with_canvas().get_scale() * get_size(); - popup->set_position(get_screen_position() + Size2(0, button_size.height)); - popup->set_size(Size2i(button_size.width, 0)); + Rect2 rect = get_screen_rect(); + rect.position.y += rect.size.height; + rect.size.height = 0; + popup->set_position(rect.position); + popup->set_size(rect.size); // If not triggered by the mouse, start the popup with the checked item (or the first enabled one) focused. if (current != NONE_SELECTED && !popup->is_item_disabled(current)) { |