<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/442f16956bc8321c3d3a006e28e2c27cb202c8a3">https://github.com/macports/macports-ports/commit/442f16956bc8321c3d3a006e28e2c27cb202c8a3</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 442f16956bc8321c3d3a006e28e2c27cb202c8a3
</span>Author: i0ntempest <szf1234@me.com>
AuthorDate: Mon Aug 2 23:47:58 2021 +0800

<span style='display:block; white-space:pre;color:#404040;'>    gtk2: update to 2.24.33 & upstream patches for GIMP
</span>---
 gnome/gtk2/Portfile                                |  15 +--
 .../gimp_issue_5989_bigsur_performance_gtk.patch   |  82 +++++++++++++++
 .../gimp_issue_5989_bigsur_performance_gtk_2.patch | 114 +++++++++++++++++++++
 gnome/gtk2/files/patch-gtk-builder-convert.diff    |  92 -----------------
 4 files changed, 205 insertions(+), 98 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2/Portfile b/gnome/gtk2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c811e595098..4589a1212ed 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gtk2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ PortGroup           muniversal 1.0
</span> PortGroup           xcodeversion 1.0
 
 name                gtk2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             2.24.32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             2.24.33
</span> set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          gnome x11
 license             LGPL-2+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,9 +27,9 @@ master_sites        gnome:sources/gtk+/${branch}/
</span> 
 minimum_xcodeversions {9 3.1}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  c0c83479fad040e25159bf7a8a9eb51322716a56 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    12620860
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  85333860bdeda25f28c45177fe08d5f0914d4e52 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    12661828
</span> 
 depends_build       port:gtk-doc \
                     port:pkgconfig \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,8 +48,7 @@ depends_run         port:shared-mime-info \
</span>                     port:hicolor-icon-theme
 
 patchfiles-append   patch-aliases.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-gtk-builder-convert.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-gtkclipboard-quartz.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-gtk-builder-convert.diff
</span> 
 # autoreconf to deal with stupid issues during install (install: .libs/libferret.lai: No such file or directory)
 use_autoreconf      yes
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -223,6 +222,10 @@ variant quartz conflicts x11 {
</span>     require_active_variants path:lib/pkgconfig/pango.pc:pango quartz
 
     configure.args-append   --with-gdktarget=quartz
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://gitlab.gnome.org/GNOME/gimp/-/issues/5989 and https://trac.macports.org/ticket/59481
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append       gimp_issue_5989_bigsur_performance_gtk.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            gimp_issue_5989_bigsur_performance_gtk_2.patch
</span> }
 
 variant x11 conflicts quartz {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2/files/gimp_issue_5989_bigsur_performance_gtk.patch b/gnome/gtk2/files/gimp_issue_5989_bigsur_performance_gtk.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c10a9b04c2c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2/files/gimp_issue_5989_bigsur_performance_gtk.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,82 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/GdkQuartzView.c b/gdk/quartz/GdkQuartzView.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/GdkQuartzView.c     2021-01-11 20:51:03.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/GdkQuartzView.c     2021-01-11 20:42:40.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -599,6 +599,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     gdk_screen_get_rgba_colormap (_gdk_screen);
</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;'>++- (void) viewWillDraw
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* MacOS 11 (Big Sur) has added a new, dynamic "accent" as default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * This uses a 10-bit colorspace so every GIMP drawing operation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * has the additional cost of an 8-bit (ARGB) to 10-bit conversion.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   * Let's disable this mode to regain the lost performance.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(gdk_quartz_osx_version() >= GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    CALayer* layer = self.layer;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    layer.contentsFormat = kCAContentsFormatRGBA8Uint;
</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;'>++  [super viewWillDraw];
</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;'>+ -(void)drawRect: (NSRect)rect
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GdkRectangle gdk_rect;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkdrawable-quartz.c b/gdk/quartz/gdkdrawable-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkdrawable-quartz.c        2021-01-11 20:51:03.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkdrawable-quartz.c        2021-01-11 20:42:40.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -898,7 +898,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (window_impl->in_paint_rect_count == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           _gdk_quartz_drawable_flush (drawable);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          [window_impl->view unlockFocus];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          /* As per gdk_window_impl_quartz_get_context(), the NSView
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           * focus-locking API set was deprecated in MacOS 10.14 and has
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           * a significant cost in MacOS 11 - every lock/unlock seems to 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           * trigger a drawRect: call for the entire window.  To return the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           * lost performance, do not use the locking API in MacOS 11+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++           */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          if(gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++              [window_impl->view unlockFocus];
</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 if (GDK_IS_PIXMAP_IMPL_QUARTZ (drawable))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkquartz.h b/gdk/quartz/gdkquartz.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkquartz.h 2021-01-11 20:51:03.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkquartz.h 2021-01-11 20:42:40.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,7 +54,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GDK_OSX_SIERRA = 12,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GDK_OSX_HIGH_SIERRA = 13,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GDK_OSX_MOJAVE = 14,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  GDK_OSX_CURRENT = 14,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  GDK_OSX_CATALINA = 15,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  GDK_OSX_BIG_SUR = 16,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  GDK_OSX_CURRENT = 16,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   GDK_OSX_NEW = 99
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } GdkOSXVersion;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkwindow-quartz.c  2021-01-11 20:51:03.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkwindow-quartz.c  2021-01-11 20:42:40.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -106,8 +106,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (window_impl->in_paint_rect_count == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (![window_impl->view lockFocusIfCanDraw])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      /* The NSView focus-locking API set was deprecated in MacOS 10.14 and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * has a significant cost in MacOS 11 - every lock/unlock seems to 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * trigger a drawRect: call for the entire window.  To return the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * lost performance, do not use the locking API in MacOS 11+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if(gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          if (![window_impl->view lockFocusIfCanDraw])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return NULL;
</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;'>+   if (gdk_quartz_osx_version () < GDK_OSX_YOSEMITE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        cg_context = [[NSGraphicsContext currentContext] graphicsPort];
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2/files/gimp_issue_5989_bigsur_performance_gtk_2.patch b/gnome/gtk2/files/gimp_issue_5989_bigsur_performance_gtk_2.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e755468d694
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2/files/gimp_issue_5989_bigsur_performance_gtk_2.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,114 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkglobals-quartz.c b/gdk/quartz/gdkglobals-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkglobals-quartz.c 2021-01-24 15:47:27.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkglobals-quartz.c 2021-01-24 15:40:36.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -34,9 +34,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (minor == GDK_OSX_UNSUPPORTED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      OSErr err = Gestalt (gestaltSystemVersionMinor, (SInt32*)&minor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      gint32 major = GDK_OSX_UNSUPPORTED;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      OSErr err = Gestalt (gestaltSystemVersionMajor, (SInt32*)&major);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      g_return_val_if_fail (err == noErr, GDK_OSX_UNSUPPORTED);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      err = Gestalt (gestaltSystemVersionMinor, (SInt32*)&minor);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       g_return_val_if_fail (err == noErr, GDK_OSX_UNSUPPORTED);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      /* we should really move to NSProcessInfo instead of Gestalt, but its
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * OS-version API exists in 10.10 and above, so we break 10.9 compat.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       * So let's just fudge this for now, representing 11.x as 10.(15+x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if(major > 10) minor += 15;
</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;'>+   if (minor < GDK_OSX_MIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gdk/quartz/gdkwindow-quartz.c  2021-01-24 15:47:27.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gdk/quartz/gdkwindow-quartz.c  2021-01-24 15:40:36.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -475,8 +475,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ _gdk_windowing_before_process_all_updates (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   in_process_all_updates = TRUE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSDisableScreenUpdates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* This API was deprecated in MacOS 10.14 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    NSDisableScreenUpdates ();
</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;'>+ void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -491,14 +493,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       NSWindow *nswindow = tmp_list->data;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      /* Revert to pre-2.24.33 behaviour.  The extra redraw introduced here really killed performance */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [[nswindow contentView] displayIfNeeded];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       _gdk_quartz_drawable_flush (NULL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      /* 10.14 needs to be told that the view needs to be redrawn, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       * https://gitlab.gnome.org/GNOME/gtk/issues/1479 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      if (gdk_quartz_osx_version() >= GDK_OSX_MOJAVE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-           [[nswindow contentView] setNeedsDisplay:YES];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [nswindow enableFlushWindow];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [nswindow flushWindow];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       [nswindow release];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -510,7 +509,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   in_process_all_updates = FALSE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  NSEnableScreenUpdates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* This API was deprecated in MacOS 10.14 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    NSEnableScreenUpdates ();
</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;'>+ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gtk/gtkcontainer.c     2021-01-24 15:47:28.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gtk/gtkcontainer.c     2021-01-24 15:40:36.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,6 +42,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <gobject/gvaluecollector.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "gtkalias.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef GDK_WINDOWING_QUARTZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #include "gdk/quartz/gdkquartz.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enum {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ADD,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1357,7 +1360,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       gtk_container_check_resize (GTK_CONTAINER (widget));
</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;'>+-  gdk_window_process_all_updates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #ifdef GDK_WINDOWING_QUARTZ
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    /* It seems that we process_all_updates (and redraw) here *and* in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     * gdk_window_update_idle.  And that means full-window redraws in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     * MacOS 11.  Disabling this does not seem to have any detrimental
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     * effects in my tests, but does cut down on processor use, so...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(gdk_quartz_osx_version() < GDK_OSX_BIG_SUR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      gdk_window_process_all_updates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #elif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    gdk_window_process_all_updates ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return FALSE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Naur a/gtk/gtkquartz.c b/gtk/gtkquartz.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- gtk/gtkquartz.c        2021-01-24 15:47:28.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ gtk/gtkquartz.c        2021-01-24 15:40:36.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -67,7 +67,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   [nsimage lockFocus];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  context = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (gdk_quartz_osx_version () < GDK_OSX_YOSEMITE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       context = [[NSGraphicsContext currentContext] graphicsPort];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       context = [[NSGraphicsContext currentContext] CGContext];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CGContextDrawImage (context, CGRectMake (0, 0, pixbuf_width, pixbuf_height), image);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   [nsimage unlockFocus];
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2/files/patch-gtk-builder-convert.diff b/gnome/gtk2/files/patch-gtk-builder-convert.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index a51425683cf..57d5db1d651 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gtk2/files/patch-gtk-builder-convert.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2/files/patch-gtk-builder-convert.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,95 +25,3 @@
</span>  def get_child_nodes(node):
      assert node.tagName == 'object'
      nodes = []
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -259,7 +277,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for node in objects:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self._convert(node.getAttribute("class"), node)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if self._get_object(node.getAttribute('id')) is not None:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--          print "WARNING: duplicate id \"" + node.getAttribute('id') + "\""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                print("WARNING: duplicate id \"" + node.getAttribute('id') + "\"")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self.objects[node.getAttribute('id')] = node
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         # Convert Gazpachos UI tag
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -270,15 +288,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for node in self._dom.getElementsByTagName("accessibility"):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self._convert_accessibility(node)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        # Output the newly created root objects and sort them
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        # by attribute id
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        # FIXME: Use sorted(self.root_objects,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        #                   key=lambda n: n.getAttribute('id'),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        #                   reverse=True):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        # when we can depend on python 2.4 or higher
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        root_objects = self.root_objects[:]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        root_objects.sort(lambda a, b: cmp(b.getAttribute('id'),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                           a.getAttribute('id')))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        root_objects = sorted(self.root_objects, key=lambda n: n.getAttribute('id'), reverse=True)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for obj in root_objects:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             self._interface.childNodes.insert(0, obj)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -461,8 +471,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if signal_name in ['activate', 'toggled']:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 action.appendChild(signal)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                print 'Unhandled signal %s::%s' % (node.getAttribute('class'),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                                                   signal_name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                print('Unhandled signal %s::%s' % (node.getAttribute('class'),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                                   signal_name))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if not uimgr.childNodes:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             child = self._dom.createElement('child')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -481,8 +491,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         for accelerator in get_accelerator_nodes(node):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             signal_name = accelerator.getAttribute('signal')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             if signal_name != 'activate':
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                print 'Unhandled accelerator signal for %s::%s' % (
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                    node.getAttribute('class'), signal_name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                print('Unhandled accelerator signal for %s::%s' % (
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    node.getAttribute('class'), signal_name))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 continue
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             accelerator.removeAttribute('signal')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             child.appendChild(accelerator)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -547,12 +557,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if prop.childNodes:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             data = prop.childNodes[0].data
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             value, lower, upper, step, page, page_size = data.split(' ')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            properties.update(value=value,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                              lower=lower,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                              upper=upper,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                              step_increment=step,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                              page_increment=page,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                              page_size=page_size)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            properties.update(dict(value=value,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                   lower=lower,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                   upper=upper,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                   step_increment=step,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                   page_increment=page,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                                   page_size=page_size))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             prop.appendChild(self._dom.createTextNode(""))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -747,7 +757,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return s.stdout.read()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def usage():
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    print __doc__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    print(__doc__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- def main(args):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     try:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -786,12 +796,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                root=root)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     conv.parse_file(input_filename)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    xml = _indent(conv.to_xml())
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    xml = _indent(conv.to_xml()).decode()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if output_filename == "-":
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        print xml
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        print(xml)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     else:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         open(output_filename, 'w').write(xml)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        print "Wrote", output_filename
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        print("Wrote", output_filename)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span></pre><pre style='margin:0'>

</pre>