diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/gtk+3.0/1121.patch | 107 | ||||
-rw-r--r-- | main/gtk+3.0/APKBUILD | 25 |
2 files changed, 15 insertions, 117 deletions
diff --git a/main/gtk+3.0/1121.patch b/main/gtk+3.0/1121.patch deleted file mode 100644 index c57ca54014..0000000000 --- a/main/gtk+3.0/1121.patch +++ /dev/null @@ -1,107 +0,0 @@ -From d70f85d6b9e5bc8d0e9890eda55d05a2510f0037 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho <carlosg@gnome.org> -Date: Tue, 8 Oct 2019 17:46:38 +0200 -Subject: [PATCH 1/2] gdk: Fix wl_output accounting on tablet devices - -The code managing this accounting mixed seat and tablet output lists, -can't bode well. Fixes invalid reads on list elements, as there are -dangling pointers. - -Closes: https://gitlab.gnome.org/GNOME/gtk/issues/2157 ---- - gdk/wayland/gdkdevice-wayland.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c -index a64f33c871..fa292d25a7 100644 ---- a/gdk/wayland/gdkdevice-wayland.c -+++ b/gdk/wayland/gdkdevice-wayland.c -@@ -4616,7 +4616,7 @@ pointer_surface_enter (void *data, - if (tablet) - { - tablet->pointer_info.pointer_surface_outputs = -- g_slist_append (seat->pointer_info.pointer_surface_outputs, output); -+ g_slist_append (tablet->pointer_info.pointer_surface_outputs, output); - } - else - { -@@ -4645,7 +4645,7 @@ pointer_surface_leave (void *data, - if (tablet) - { - tablet->pointer_info.pointer_surface_outputs = -- g_slist_remove (seat->pointer_info.pointer_surface_outputs, output); -+ g_slist_remove (tablet->pointer_info.pointer_surface_outputs, output); - } - else - { --- -2.22.0 - - -From bcd384711aab713d9928eb08fa0d1281b66bd659 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho <carlosg@gnome.org> -Date: Tue, 8 Oct 2019 17:50:48 +0200 -Subject: [PATCH 2/2] gdk: Avoid poking possibly freed memory - -The event may end up freed after delivery, ensure to keep the data we need -in order to emit the matching emulated crossed event matching a proximity -event. - -Closes: https://gitlab.gnome.org/GNOME/gtk/issues/2157 ---- - gdk/wayland/gdkdevice-wayland.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c -index fa292d25a7..4773f63ffa 100644 ---- a/gdk/wayland/gdkdevice-wayland.c -+++ b/gdk/wayland/gdkdevice-wayland.c -@@ -3468,6 +3468,8 @@ static void - gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet, - guint32 time) - { -+ GdkEventType event_type; -+ GdkWindow *window; - GdkEvent *event; - - event = tablet->pointer_info.frame.event; -@@ -3476,7 +3478,10 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet, - if (!event) - return; - -- switch (event->type) -+ event_type = event->type; -+ window = g_object_ref (gdk_event_get_window (event)); -+ -+ switch (event_type) - { - case GDK_MOTION_NOTIFY: - event->motion.time = time; -@@ -3504,18 +3509,20 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet, - return; - } - -- if (event->type == GDK_PROXIMITY_OUT) -- emulate_crossing (event->proximity.window, NULL, tablet->master, -+ if (event_type == GDK_PROXIMITY_OUT) -+ emulate_crossing (window, NULL, tablet->master, - tablet->current_device, GDK_LEAVE_NOTIFY, - GDK_CROSSING_NORMAL, time); - - _gdk_wayland_display_deliver_event (gdk_seat_get_display (tablet->seat), - event); - -- if (event->type == GDK_PROXIMITY_IN) -- emulate_crossing (event->proximity.window, NULL, tablet->master, -+ if (event_type == GDK_PROXIMITY_IN) -+ emulate_crossing (window, NULL, tablet->master, - tablet->current_device, GDK_ENTER_NOTIFY, - GDK_CROSSING_NORMAL, time); -+ -+ g_object_unref (window); - } - - static GdkEvent * --- -2.22.0 - diff --git a/main/gtk+3.0/APKBUILD b/main/gtk+3.0/APKBUILD index 67b0efaee1..a633179f8d 100644 --- a/main/gtk+3.0/APKBUILD +++ b/main/gtk+3.0/APKBUILD @@ -2,8 +2,8 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Rasmus Thomsen <oss@cogitri.dev> pkgname=gtk+3.0 -pkgver=3.24.12 -pkgrel=1 +pkgver=3.24.13 +pkgrel=0 pkgdesc="The GTK+ Toolkit (v3)" url="https://www.gtk.org/" install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall" @@ -14,8 +14,6 @@ subpackages="$pkgname-demo $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-dbg" depends="shared-mime-info gtk-update-icon-cache" replaces="gtk+" -replaces_dev="gtk+-dev" -replaces_doc="gtk+-doc" depends_dev=" atk-dev @@ -54,7 +52,7 @@ makedepends=" libxrandr-dev" source="https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz 10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch - 1121.patch" + " builddir="$srcdir/gtk+-$pkgver" @@ -72,7 +70,6 @@ prepare() { } build() { - cd "$builddir" ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -96,7 +93,6 @@ build() { } package() { - cd "$builddir" make DESTDIR="$pkgdir" install # use gtk-update-icon-cache from gtk+2.0 for now @@ -122,6 +118,15 @@ demo() { mv "$pkgdir"/usr/share/icons "$subpkgdir"/usr/share } -sha512sums="97554657d83db71ff8b3ea5f650ad38b1ffcc3e8d620be876b5ca435f693e229dffc7341a84bde71bdae13293f2c1d3b2ab1b80a02791132c8a7693cdc21f612 gtk+-3.24.12.tar.xz -e4ea76484b70bd9beb65b2964bbcff3b3f78f5f6fe70b12309a7721ca134e3735e8aaac09803f93b393a6130a703f8f346c0df89ad45d18c580dac1e0e922276 10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch -e736fc9c0e60eabe377d474dcc091cdd49ec9368bbac7c95242783de50148b429c39a38fe5f6b5ec9135b109a2900e43a896867e95b996f4a2a53fbf45bbb532 1121.patch" +dev() { + replaces="gtk+-dev" + default_dev +} + +doc() { + replaces="gtk+-doc" + default_doc +} + +sha512sums="9129d4574cca258b4a517d8d65dad246a746fc3dc574b78e098db9aa9743956ce227efbf963f63e1e0f1a1a09810716150526b2bfe8015a5960bad38b0c88406 gtk+-3.24.13.tar.xz +e4ea76484b70bd9beb65b2964bbcff3b3f78f5f6fe70b12309a7721ca134e3735e8aaac09803f93b393a6130a703f8f346c0df89ad45d18c580dac1e0e922276 10-Revert-gdkseatdefault-Grab-touch-events-where-applic.patch" |