summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-08-19 16:04:54 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-08-19 16:04:54 +0200
commita105553a1df81d3f13fdfcd170dc4239eaadd75e (patch)
tree2429dc303fd67b62c96eef64d11c7974b0988c8a
parentda57bab16989e2690e1481331d25952b7c342f16 (diff)
parent8228d647a9a5a3dd36bad508ebb3746432d3d1fc (diff)
downloadredot-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.cpp5
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;