Date: Monday, April 6, 2020 @ 14:39:56 Author: heftig Revision: 379667
3.24.17+15+gdc79e07228-1 Added: gtk3/trunk/1638.patch Modified: gtk3/trunk/PKGBUILD Deleted: gtk3/trunk/1633.patch gtk3/trunk/1634.patch ------------+ 1633.patch | 57 --------------------------------------------------------- 1634.patch | 43 ------------------------------------------- 1638.patch | 39 +++++++++++++++++++++++++++++++++++++++ PKGBUILD | 23 +++++++---------------- 4 files changed, 46 insertions(+), 116 deletions(-) Deleted: 1633.patch =================================================================== --- 1633.patch 2020-04-06 14:25:10 UTC (rev 379666) +++ 1633.patch 2020-04-06 14:39:56 UTC (rev 379667) @@ -1,57 +0,0 @@ -From 12fc9a45efcbb546eb7de13c5c4d3183f2f5a3b8 Mon Sep 17 00:00:00 2001 -From: William Wold <w...@wmww.sh> -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 <w...@wmww.sh> -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 - Deleted: 1634.patch =================================================================== --- 1634.patch 2020-04-06 14:25:10 UTC (rev 379666) +++ 1634.patch 2020-04-06 14:39:56 UTC (rev 379667) @@ -1,43 +0,0 @@ -From 79732da1ed8cb167440fb047c72cfc0d888a187b Mon Sep 17 00:00:00 2001 -From: Jonas Witschel <diabo...@archlinux.org> -Date: Sun, 5 Apr 2020 20:16:52 +0200 -Subject: [PATCH] wayland: don't call gdk_wayland_window_configure without - valid size - -Commit 7f12dc2b66bba15b2e1c0ca077fa4ae58962ec0f ("wayland: Postpone -window resize requests until configured") runs -gdk_wayland_window_configure unconditionally even if no valid size is -set. This breaks GtkDialogs, which are not shown any more, and results -in warnings like - -gtk_widget_size_allocate(): attempt to allocate widget with width -3 and -height -3 - -Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2574 ---- - gdk/wayland/gdkwindow-wayland.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c -index eba8361b21..2d3e31906e 100644 ---- a/gdk/wayland/gdkwindow-wayland.c -+++ b/gdk/wayland/gdkwindow-wayland.c -@@ -1635,10 +1635,11 @@ gdk_wayland_window_handle_configure (GdkWindow *window, - } - else - { -- gdk_wayland_window_configure (window, -- impl->unconfigured_width, -- impl->unconfigured_height, -- impl->scale); -+ if (impl->unconfigured_width > 0 && impl->unconfigured_height > 0) -+ gdk_wayland_window_configure (window, -+ impl->unconfigured_width, -+ impl->unconfigured_height, -+ impl->scale); - } - - if (fixed_size) --- -2.24.1 - Added: 1638.patch =================================================================== --- 1638.patch (rev 0) +++ 1638.patch 2020-04-06 14:39:56 UTC (rev 379667) @@ -0,0 +1,39 @@ +From f7811616819040acc66dddd1762101d8ad87a2fa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jad...@gmail.com> +Date: Mon, 6 Apr 2020 14:20:43 +0200 +Subject: [PATCH] wayland: Always store unconfigured size + +This means it'll always be as up to date GdkWindow::width/height. We +still skip the resize for non-configured windows though, to avoid +mapping with the wrong size. +--- + gdk/wayland/gdkwindow-wayland.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c +index 6c555443bd..05a673eb61 100644 +--- a/gdk/wayland/gdkwindow-wayland.c ++++ b/gdk/wayland/gdkwindow-wayland.c +@@ -1145,16 +1145,12 @@ gdk_wayland_window_maybe_configure (GdkWindow *window, + gboolean is_xdg_popup; + gboolean is_visible; + ++ impl->unconfigured_width = calculate_width_without_margin (window, width); ++ impl->unconfigured_height = calculate_height_without_margin (window, height); + + if (needs_initial_configure (window) && + !impl->initial_configure_received) +- { +- impl->unconfigured_width = calculate_width_without_margin (window, +- width); +- impl->unconfigured_height = calculate_height_without_margin (window, +- height); +- return; +- } ++ return; + + if (window->width == width && + window->height == height && +-- +2.24.1 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2020-04-06 14:25:10 UTC (rev 379666) +++ PKGBUILD 2020-04-06 14:39:56 UTC (rev 379667) @@ -3,8 +3,8 @@ pkgbase=gtk3 pkgname=(gtk3 gtk-update-icon-cache) -pkgver=3.24.17+4+g8c97702a07 -pkgrel=2 +pkgver=3.24.17+15+gdc79e07228 +pkgrel=1 epoch=1 pkgdesc="GObject-based multi-platform GUI toolkit" arch=(x86_64) @@ -15,16 +15,15 @@ cantarell-fonts colord rest libcups libcanberra fribidi iso-codes) makedepends=(gobject-introspection gtk-doc git glib2-docs sassc meson) license=(LGPL) -_commit=8c97702a0771ccb186088ea04478dfc8c6616fe4 # gtk-3-24 +_commit=dc79e07228800dafa1062c959c68afcc7b4a1bef # gtk-3-24 source=("git+https://gitlab.gnome.org/GNOME/gtk.git#commit=$_commit" - 1633.patch 1634.patch + 1638.patch settings.ini gtk-query-immodules-3.0.hook gtk-update-icon-cache.hook gtk-update-icon-cache.script) sha256sums=('SKIP' - '7b7141c53de03d0bd6c73287b27c75e39a8eede1853037f52183c4648805255d' - '59f5304bdbeff82fd08e43d1c19afc4c5b65703c36a243909b92681ae1519020' + '45be674b2596b16d5778a85a51a31b59b3e3a198daaea34eec4400e4cdb9bd4e' '01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202' 'a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229' '2d435e3bec8b79b533f00f6d04decb1d7c299c6e89b5b175f20be0459f003fe8' @@ -39,16 +38,8 @@ 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/66106 - # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1634 - git apply -3 ../1634.patch - - # https://bugs.archlinux.org/task/66119 - # https://gitlab.gnome.org/GNOME/gtk/-/issues/2576 - # no patch yet + # https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/1638 + git apply -3 ../1638.patch } build() {