diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-08-19 16:04:54 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-08-19 16:04:54 +0200 |
commit | a105553a1df81d3f13fdfcd170dc4239eaadd75e (patch) | |
tree | 2429dc303fd67b62c96eef64d11c7974b0988c8a | |
parent | da57bab16989e2690e1481331d25952b7c342f16 (diff) | |
parent | 8228d647a9a5a3dd36bad508ebb3746432d3d1fc (diff) | |
download | redot-engine-a105553a1df81d3f13fdfcd170dc4239eaadd75e.tar.gz |
Merge pull request #92841 from kleonc/menu-bar-proper-canvas-transform-popup-calculation
Fix `MenuBar` popup placement assuming it's in viewport default canvas
-rw-r--r-- | scene/gui/menu_bar.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/scene/gui/menu_bar.cpp b/scene/gui/menu_bar.cpp index 4f8d818a6c..3264733548 100644 --- a/scene/gui/menu_bar.cpp +++ b/scene/gui/menu_bar.cpp @@ -121,8 +121,9 @@ void MenuBar::_open_popup(int p_index, bool p_focus_item) { } Rect2 item_rect = _get_menu_item_rect(p_index); - Point2 screen_pos = get_screen_position() + item_rect.position * get_viewport()->get_canvas_transform().get_scale(); - Size2 screen_size = item_rect.size * get_viewport()->get_canvas_transform().get_scale(); + Size2 canvas_scale = get_canvas_transform().get_scale(); + Point2 screen_pos = get_screen_position() + item_rect.position * canvas_scale; + Size2 screen_size = item_rect.size * canvas_scale; active_menu = p_index; |