<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>