diff --git a/extra/gtk+3/build b/extra/gtk+3/build index b6b2c650..e8638523 100755 --- a/extra/gtk+3/build +++ b/extra/gtk+3/build @@ -1,6 +1,7 @@ #!/bin/sh -e patch -p1 < no-fribidi.patch +patch -p1 < fix-firefox.patch # Remove configure check for atk-bridge and fribidi. Funny enough, atk-bridge # is not required under wayland and there are ifdefs in place to ensure this. diff --git a/extra/gtk+3/checksums b/extra/gtk+3/checksums index dc4de51e..3eb9073f 100644 --- a/extra/gtk+3/checksums +++ b/extra/gtk+3/checksums @@ -2,3 +2,4 @@ f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa 7b57e54220110f00ee768536138f80e155e44b0f90d912610802c72a25a59510 cf05e4901778c434aef68bb7dc01bea2bce15440c0cecb777fb446f04db6fe0d e44b643a9ec01ea153817602241d6d7e6fd2d121b3ce4e29f99a87d8836a3ff0 +8fbb449d4396cacba8c12b3e7461e1e940af8467e421a8011b3fa0bab0564426 diff --git a/extra/gtk+3/patches/fix-firefox.patch b/extra/gtk+3/patches/fix-firefox.patch new file mode 100644 index 00000000..7ab1faa5 --- /dev/null +++ b/extra/gtk+3/patches/fix-firefox.patch @@ -0,0 +1,62 @@ +From f8e2e254c5a6cba2f6cf267bd8c3ce796779a2e8 Mon Sep 17 00:00:00 2001 +From: Ronan Pigott +Date: Sun, 22 Aug 2021 01:54:39 -0700 +Subject: [PATCH] Revert "Revert "wayland: Push NULL buffer when hiding a + GdkWindow"" + +wayland: Push NULL buffer when hiding a GdkWindow + +This is how windows are hidden in xdg_shell stable. + +This reverts commit bbcc3ee45643ccdc25bc525b4d7f7daf6b25440a. + +Closes #4198 +--- + gdk/wayland/gdkwindow-wayland.c | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c +index 2d7c42bd7a..07f77eb596 100644 +--- a/gdk/wayland/gdkwindow-wayland.c ++++ b/gdk/wayland/gdkwindow-wayland.c +@@ -3286,7 +3286,7 @@ unmap_popups_for_window (GdkWindow *window) + } + + static void +-gdk_wayland_window_hide_surface (GdkWindow *window) ++gdk_wayland_window_clear_surface (GdkWindow *window) + { + GdkWaylandDisplay *display_wayland = GDK_WAYLAND_DISPLAY (gdk_window_get_display (window)); + GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); +@@ -3416,7 +3416,10 @@ gdk_wayland_window_hide_surface (GdkWindow *window) + static void + gdk_wayland_window_hide (GdkWindow *window) + { +- gdk_wayland_window_hide_surface (window); ++ GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); ++ ++ wl_surface_attach (impl->display_server.wl_surface, NULL, 0, 0); ++ wl_surface_commit (impl->display_server.wl_surface); + _gdk_window_clear_update_area (window); + } + +@@ -3430,7 +3433,7 @@ gdk_window_wayland_withdraw (GdkWindow *window) + + g_assert (!GDK_WINDOW_IS_MAPPED (window)); + +- gdk_wayland_window_hide_surface (window); ++ gdk_wayland_window_clear_surface (window); + } + } + +@@ -3751,7 +3754,7 @@ gdk_wayland_window_destroy (GdkWindow *window, + */ + g_return_if_fail (!foreign_destroy); + +- gdk_wayland_window_hide_surface (window); ++ gdk_wayland_window_clear_surface (window); + } + + static void +-- +GitLab diff --git a/extra/gtk+3/sources b/extra/gtk+3/sources index 4dee1633..db3ee228 100644 --- a/extra/gtk+3/sources +++ b/extra/gtk+3/sources @@ -2,3 +2,4 @@ https://download.gnome.org/sources/gtk+/MAJOR.MINOR/gtk+-VERSION.tar.xz https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/-/archive/40.0/gsettings-desktop-schemas-40.0.tar.gz schemas https://github.com/anholt/libepoxy/releases/download/1.5.8/libepoxy-1.5.8.tar.xz libepoxy patches/no-fribidi.patch +patches/fix-firefox.patch diff --git a/extra/gtk+3/version b/extra/gtk+3/version index 07da6473..6a50891b 100644 --- a/extra/gtk+3/version +++ b/extra/gtk+3/version @@ -1 +1 @@ -3.24.29 5 +3.24.29 6