diff --git a/main/gtk+3.0/5628.patch b/main/gtk+3.0/5628.patch new file mode 100644 index 0000000000000000000000000000000000000000..dd1fa7c854f983452f50c27984fddea834c0fc60 --- /dev/null +++ b/main/gtk+3.0/5628.patch @@ -0,0 +1,50 @@ +From 2fb267db32b9a752dd16913c4bba308de1525a55 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org> +Date: Fri, 10 Mar 2023 12:25:13 +0100 +Subject: [PATCH] gdk/wayland: Track last touch serial on seat + +Since the touch data is released on touch up +_gdk_wayland_seat_get_last_implicit_grab_serial will return 0 serial +most of the time for touch only devices. This breaks xdg activation as +the compositor will reject tokens that have a 0 serial set via +xdg_activation_token_v1_set_serial. + +Avoid that by tracking touch serials on the seat itself too. +--- + gdk/wayland/gdkdevice-wayland.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c +index 9dc86a32578..9570e82a7f9 100644 +--- a/gdk/wayland/gdkdevice-wayland.c ++++ b/gdk/wayland/gdkdevice-wayland.c +@@ -212,6 +212,7 @@ struct _GdkWaylandSeat + GdkKeymap *keymap; + + GHashTable *touches; ++ guint32 last_touch_down_serial; + GList *tablets; + GList *tablet_tools; + GList *tablet_pads; +@@ -2514,7 +2515,7 @@ touch_handle_down (void *data, + touch = gdk_wayland_seat_add_touch (seat, id, wl_surface); + touch->x = wl_fixed_to_double (x); + touch->y = wl_fixed_to_double (y); +- touch->touch_down_serial = serial; ++ seat->last_touch_down_serial = touch->touch_down_serial = serial; + + event = _create_touch_event (seat, touch, GDK_TOUCH_BEGIN, time); + +@@ -5398,6 +5399,9 @@ _gdk_wayland_seat_get_last_implicit_grab_serial (GdkSeat *seat, + } + } + ++ if (wayland_seat->last_touch_down_serial > serial) ++ serial = wayland_seat->last_touch_down_serial; ++ + return serial; + } + +-- +GitLab + diff --git a/main/gtk+3.0/APKBUILD b/main/gtk+3.0/APKBUILD index 66d673136a3b5cca984a325af5eebac7bf4632c0..b1f461e2f19a04027db1514fd2186f146c033e5f 100644 --- a/main/gtk+3.0/APKBUILD +++ b/main/gtk+3.0/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Rasmus Thomsen <oss@cogitri.dev> # Contributor: Natanael Copa <ncopa@alpinelinux.org> -# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: team/gnome <newbyte@postmarketos.org> pkgname=gtk+3.0 -pkgver=3.24.41 +pkgver=3.24.43 pkgrel=0 pkgdesc="The GTK+ Toolkit (v3)" url="https://www.gtk.org/" @@ -63,6 +63,7 @@ checkdepends=" xvfb-run " source="https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz + 5628.patch " builddir="$srcdir/gtk+-$pkgver" @@ -131,5 +132,6 @@ icon_cache() { } sha512sums=" -aaf061d846fac592e71089feace302bdef1bb64bb2ad6ff30d51d90000da9084cad2fa5bf88cb75adcd789c911d94231ae60a2ca7cf97a2f5720687369a3da98 gtk+-3.24.41.tar.xz +2f208a353d94fa504088ab080006cb097de721ec934b69b5719af0f4c8c72d2aa9a68b47239feca1622ec67c7389be87023729ee6ad3580a87777f2bf9ed5375 gtk+-3.24.43.tar.xz +b592559177c60e627940b8894aace41b058fe738d47ebb8bccdb4c9c35dd1750e1db7e153a6e5db61d2d4e95ddefd712fd734a1bbc4230a79c889f8adac96e1f 5628.patch "