瀏覽代碼

Fix MenuBar popup placement assuming it's in viewport default canvas

kleonc 1 年之前
父節點
當前提交
8228d647a9
共有 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;