浏览代码

Merge pull request #92841 from kleonc/menu-bar-proper-canvas-transform-popup-calculation

Fix `MenuBar` popup placement assuming it's in viewport default canvas
Rémi Verschelde 1 年之前
父节点
当前提交
a105553a1d
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      scene/gui/menu_bar.cpp

+ 3 - 2
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;