<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/47fd80009f1a818281345d7158144a3037469004">https://github.com/macports/macports-ports/commit/47fd80009f1a818281345d7158144a3037469004</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 47fd80009f1 gtk3: add upstream patch
</span>47fd80009f1 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 47fd80009f1a818281345d7158144a3037469004
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Mon May 19 14:33:03 2025 -0400

<span style='display:block; white-space:pre;color:#404040;'>    gtk3: add upstream patch
</span>---
 gnome/gtk3/Portfile                        | 14 +++++----
 gnome/gtk3/files/patch-gtk-menu-scale.diff | 47 ++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 5 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk3/Portfile b/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9cbd212a65b..8c524a00943 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,11 +13,9 @@ name                gtk3
</span> conflicts           gtk3-devel
 set my_name         gtk3
 version             3.24.49
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> epoch               1
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set proj_name       gtk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set branch          [join [lrange [split ${version} .] 0 1] .]
</span> categories          gnome x11
 license             LGPL-2.1+
 maintainers         {mascguy @mascguy} openmaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,6 +27,8 @@ long_description    GTK+ is a highly usable, feature-rich toolkit for creating g
</span>                     programming languages, such as C++, Python and C#, among others.
 homepage            http://www.gtk.org/
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set proj_name       gtk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set branch          [join [lrange [split ${version} .] 0 1] .]
</span> distname            ${proj_name}-${version}
 dist_subdir         ${my_name}
 use_xz              yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,8 +60,8 @@ depends_lib-append \
</span>                     path:lib/pkgconfig/pango.pc:pango
 
 depends_run-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:shared-mime-info \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:hicolor-icon-theme
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:hicolor-icon-theme \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:shared-mime-info
</span> 
 compiler.cxx_standard 2011
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,6 +91,10 @@ patchfiles-append   patch-sincos.diff
</span> # *NOT* merged merge request: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8136
 patchfiles-append   patch-gtk-menu-crash.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8342
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-gtk-menu-scale.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # gtk3 +quartz uses instancetype which is not available
 # before approximately Xcode 4.6 (#49391)
 # if building +x11 blacklist comilers that do not support C11
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk3/files/patch-gtk-menu-scale.diff b/gnome/gtk3/files/patch-gtk-menu-scale.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5958ac17e27
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk3/files/patch-gtk-menu-scale.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,47 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git gdk/quartz/gdkwindow-quartz.c gdk/quartz/gdkwindow-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5d6d522846..df2a8d051e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkwindow-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkwindow-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1185,8 +1185,41 @@ gdk_window_quartz_show (GdkWindow *window, gboolean already_mapped)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       clear_toplevel_order ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       _gdk_quartz_events_send_map_event (window);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      /* Fix for menu height scaling on standard DPI monitors in mixed DPI environments */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (window->window_type == GDK_WINDOW_TEMP && impl->toplevel)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          GdkDisplay *display = gdk_window_get_display(window);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          GdkMonitor *monitor = gdk_display_get_monitor_at_window(display, window);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          gint scale_factor = gdk_monitor_get_scale_factor(monitor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          /* Only fix on low-DPI monitors */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          if (scale_factor == 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              if (!g_object_get_data (G_OBJECT (window), "quartz-menu-height-fixed"))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  NSWindow *nswindow = impl->toplevel;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  NSRect frame = [nswindow frame];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  NSView *contentView = [nswindow contentView];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  /* Apply a modest adjustment to compensate for the 1/4 height issue */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  /* Using a tiny multiplier is enough since macOS corrects itself after first display */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  frame.size.height *= 1.01;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  /* Resize the window with animation disabled */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  [nswindow setFrame:frame display:YES animate:NO];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  /* Force layout update */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  [contentView setNeedsDisplay:YES];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  /* Mark as fixed */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  g_object_set_data (G_OBJECT (window), "quartz-menu-height-fixed",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    GINT_TO_POINTER (TRUE));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [impl->view setHidden:NO];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span></pre><pre style='margin:0'>

</pre>