diff --git a/src/pgtkfns.c b/src/pgtkfns.c
index ec708af374..5c54b78e5a 100644
--- a/src/pgtkfns.c
+++ b/src/pgtkfns.c
@@ -3367,6 +3367,9 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
tab_bar_width = (tab_bar_height
? native_width - 2 * internal_border_width : 0);
+ int menu_bar_height = FRAME_MENUBAR_HEIGHT (f);
+ outer_height += menu_bar_height;
+
/* Construct list. */
if (EQ (attribute, Qouter_edges))
return list4 (make_fixnum (left_pos), make_fixnum (top_pos),
@@ -3398,8 +3401,8 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
: Fcons (make_fixnum (border), make_fixnum (border)))),
Fcons (Qtitle_bar_size,
Fcons (make_fixnum (0), make_fixnum (title_height))),
- Fcons (Qmenu_bar_external, Qnil),
- Fcons (Qmenu_bar_size, Fcons (make_fixnum (0), make_fixnum (0))),
+ Fcons (Qmenu_bar_external, Qt),
+ Fcons (Qmenu_bar_size, Fcons (make_fixnum (0), make_fixnum (menu_bar_height))),
Fcons (Qtab_bar_size,
Fcons (make_fixnum (tab_bar_width),
make_fixnum (tab_bar_height))),
该补丁由ds4生成,或许有更好的方法将这个问题解决(AIGC内容是不是没法提交给基金会?我不知道有谁能代我提交一下)