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
 "