[arch-commits] Commit in gtk3/trunk (PKGBUILD trap_possible_X_error.diff)
Andreas Radke
andyrtr at archlinux.org
Wed May 11 08:48:01 UTC 2016
Date: Wednesday, May 11, 2016 @ 10:48:01
Author: andyrtr
Revision: 267787
upgpkg: gtk3 3.20.4-2
add upstream fix to solve XI2 related crashes in X2go sessions
Added:
gtk3/trunk/trap_possible_X_error.diff
Modified:
gtk3/trunk/PKGBUILD
----------------------------+
PKGBUILD | 13 ++++++++++---
trap_possible_X_error.diff | 30 ++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-05-11 08:42:37 UTC (rev 267786)
+++ PKGBUILD 2016-05-11 08:48:01 UTC (rev 267787)
@@ -5,7 +5,7 @@
pkgbase=gtk3
pkgname=(gtk3 gtk-update-icon-cache)
pkgver=3.20.4
-pkgrel=1
+pkgrel=2
pkgdesc="GObject-based multi-platform GUI toolkit"
arch=(i686 x86_64)
url="http://www.gtk.org/"
@@ -18,16 +18,23 @@
settings.ini
gtk-query-immodules-3.0.hook
gtk-update-icon-cache.hook
- gtk-update-icon-cache.script)
+ gtk-update-icon-cache.script
+ trap_possible_X_error.diff)
sha256sums=('e7e3aaf54a54dd1c1ca0588939254abe31329e0bcd280a12290d5306b41ea03f'
'01fc1d81dc82c4a052ac6e25bf9a04e7647267cc3017bc91f9ce3e63e5eb9202'
'de46e5514ff39a7a65e01e485e874775ab1c0ad20b8e94ada43f4a6af1370845'
'496064a9dd6214bd58f689dd817dbdc4d7f17d42a8c9940a87018c3f829ce308'
- 'bbe06e1b4e1ad5d61a4e703445a2bb93c6be918964d6dd76c0420c6667fa11eb')
+ 'bbe06e1b4e1ad5d61a4e703445a2bb93c6be918964d6dd76c0420c6667fa11eb'
+ '1204b67e45938304ce8500c4b9de52af5d2d90bcb4a2e28bc665f5b29803f28d')
prepare() {
cd gtk+-$pkgver
NOCONFIGURE=1 ./autogen.sh
+
+ # upstream fix for crashes with X servers not supporting XI2
+ # https://bugzilla.gnome.org/show_bug.cgi?id=766233
+ # https://github.com/GNOME/gtk/commit/7e7d7991cc8e7c7a2b50ce6530a8ebafd673516b
+ patch -Np1 -i ${srcdir}/trap_possible_X_error.diff
}
build() {
Added: trap_possible_X_error.diff
===================================================================
--- trap_possible_X_error.diff (rev 0)
+++ trap_possible_X_error.diff 2016-05-11 08:48:01 UTC (rev 267787)
@@ -0,0 +1,30 @@
+diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
+index f7c79c4..ad65e29 100644
+--- a/gdk/x11/gdkdisplay-x11.c
++++ b/gdk/x11/gdkdisplay-x11.c
+@@ -2881,10 +2881,14 @@ gdk_x11_display_get_default_seat (GdkDisplay *display)
+ {
+ GList *seats, *l;
+ int device_id;
++ gboolean result = FALSE;
+
+ seats = gdk_display_list_seats (display);
+- XIGetClientPointer (GDK_DISPLAY_XDISPLAY (display),
+- None, &device_id);
++
++ gdk_x11_display_error_trap_push (display);
++ result = XIGetClientPointer (GDK_DISPLAY_XDISPLAY (display),
++ None, &device_id);
++ gdk_x11_display_error_trap_pop_ignored (display);
+
+ for (l = seats; l; l = l->next)
+ {
+@@ -2892,7 +2896,7 @@ gdk_x11_display_get_default_seat (GdkDisplay *display)
+
+ pointer = gdk_seat_get_pointer (l->data);
+
+- if (gdk_x11_device_get_id (pointer) == device_id)
++ if (gdk_x11_device_get_id (pointer) == device_id || !result)
+ {
+ GdkSeat *seat = l->data;
+ g_list_free (seats);
More information about the arch-commits
mailing list