]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix GTK menu bar height reporting when scaled
authorPo Lu <luangruo@yahoo.com>
Wed, 26 Jan 2022 05:53:20 +0000 (13:53 +0800)
committerPo Lu <luangruo@yahoo.com>
Wed, 26 Jan 2022 05:53:20 +0000 (13:53 +0800)
* src/gtkutil.c (xg_update_frame_menubar): Multiply requisition
height by GDK scale.

src/gtkutil.c

index 607cf5ee2e4b56556daf593523eb3381e52af6e3..98907bf02230cdfe2a3e736a9bdc7ca692e0b27b 100644 (file)
@@ -4012,6 +4012,7 @@ xg_update_frame_menubar (struct frame *f)
 {
   xp_output *x = f->output_data.xp;
   GtkRequisition req;
+  int scale = xg_get_scale (f);
 
   if (!x->menubar_widget || gtk_widget_get_mapped (x->menubar_widget))
     return;
@@ -4029,9 +4030,9 @@ xg_update_frame_menubar (struct frame *f)
   gtk_widget_show_all (x->menubar_widget);
   gtk_widget_get_preferred_size (x->menubar_widget, NULL, &req);
   req.height *= xg_get_scale (f);
-  if (FRAME_MENUBAR_HEIGHT (f) != req.height)
+  if (FRAME_MENUBAR_HEIGHT (f) != (req.height * scale))
     {
-      FRAME_MENUBAR_HEIGHT (f) = req.height;
+      FRAME_MENUBAR_HEIGHT (f) = req.height * scale;
       adjust_frame_size (f, -1, -1, 2, 0, Qmenu_bar_lines);
     }
   unblock_input ();