Date: Sunday, April 5, 2020 @ 17:39:25 Author: heftig Revision: 379571
FS#66106: Add patch Added: gtk3/trunk/1633.patch Modified: gtk3/trunk/PKGBUILD ------------+ 1633.patch | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 16 +++++++++++++--- 2 files changed, 70 insertions(+), 3 deletions(-) Added: 1633.patch =================================================================== --- 1633.patch (rev 0) +++ 1633.patch 2020-04-05 17:39:25 UTC (rev 379571) @@ -0,0 +1,57 @@ +From 12fc9a45efcbb546eb7de13c5c4d3183f2f5a3b8 Mon Sep 17 00:00:00 2001 +From: William Wold <[email protected]> +Date: Sun, 5 Apr 2020 05:26:24 -0400 +Subject: [PATCH 1/2] Do not require an initial configure for custom Wayland + surfaces + +There is no way for custom Wayland surfaces to get configure events, so an +initial configure event should not be required to resize a custom surface. + +Fixes #2578. +--- + gdk/wayland/gdkwindow-wayland.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c +index eba8361b21..5f39c5771c 100644 +--- a/gdk/wayland/gdkwindow-wayland.c ++++ b/gdk/wayland/gdkwindow-wayland.c +@@ -1087,6 +1087,8 @@ needs_initial_configure (GdkWindow *window) + + if (impl->display_server.wl_subsurface) + return FALSE; ++ else if (impl->use_custom_surface) ++ return FALSE; + else if (is_realized_toplevel (window)) + return TRUE; + else if (is_realized_popup (window)) +-- +2.24.1 + + +From 5a52af20cba76474e631b2a7548963bcad22d66d Mon Sep 17 00:00:00 2001 +From: William Wold <[email protected]> +Date: Sun, 5 Apr 2020 07:11:45 -0400 +Subject: [PATCH 2/2] Do not require an initial configure for DnD windows + +Fixes #2075 +--- + gdk/wayland/gdkwindow-wayland.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c +index 5f39c5771c..04506508f3 100644 +--- a/gdk/wayland/gdkwindow-wayland.c ++++ b/gdk/wayland/gdkwindow-wayland.c +@@ -1089,6 +1089,8 @@ needs_initial_configure (GdkWindow *window) + return FALSE; + else if (impl->use_custom_surface) + return FALSE; ++ else if (impl->hint == GDK_WINDOW_TYPE_HINT_DND) ++ return FALSE; + else if (is_realized_toplevel (window)) + return TRUE; + else if (is_realized_popup (window)) +-- +2.24.1 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-04-05 16:08:16 UTC (rev 379570) +++ PKGBUILD 2020-04-05 17:39:25 UTC (rev 379571) @@ -3,8 +3,8 @@ pkgbase=gtk3 pkgname=(gtk3 gtk-update-icon-cache) -pkgver=3.24.17 -pkgrel=2 +pkgver=3.24.17+4+g8c97702a07 +pkgrel=1 epoch=1 pkgdesc="GObject-based multi-platform GUI toolkit" arch=(x86_64) @@ -15,13 +15,15 @@ cantarell-fonts colord rest libcups libcanberra fribidi iso-codes) makedepends=(gobject-introspection gtk-doc git glib2-docs sassc meson) license=(LGPL) -_commit=4480c0ffc6858f8a324f841a318a6ed4b57dd629 # tags/3.24.17^0 +_commit=8c97702a0771ccb186088ea04478dfc8c6616fe4 # gtk-3-24 source=("git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit" + 1633.patch settings.ini gtk-query-immodules-3.0.hook gtk-update-icon-cache.hook gtk-update-icon-cache.script) sha256sums=('SKIP' + '7b7141c53de03d0bd6c73287b27c75e39a8eede1853037f52183c4648805255d' '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202' 'a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229' '2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8' @@ -34,6 +36,14 @@ prepare() { cd gtk + + # https://bugs.archlinux.org/task/66106 + # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1633 + git apply -3 ../1633.patch + + # https://bugs.archlinux.org/task/66119 + # https://gitlab.gnome.org/GNOME/gtk/-/issues/2576 + # no patch yet } build() {
