summaryrefslogtreecommitdiff
path: root/extra/gtk2
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-07-24 00:01:46 +0000
committerroot <root@rshg054.dnsready.net>2012-07-24 00:01:46 +0000
commit56913dc8679143308408596f2872f3894b3ab9d0 (patch)
tree6a8108f4290a1841aacb64924af58ad547790aa5 /extra/gtk2
parenta65eb6fe2ea0ffa22c65de34506c88aeeb3c88ee (diff)
Tue Jul 24 00:01:46 UTC 2012
Diffstat (limited to 'extra/gtk2')
-rw-r--r--extra/gtk2/PKGBUILD19
-rw-r--r--extra/gtk2/fix-stuck-grabs.patch47
2 files changed, 58 insertions, 8 deletions
diff --git a/extra/gtk2/PKGBUILD b/extra/gtk2/PKGBUILD
index 5081e813d..ee9859444 100644
--- a/extra/gtk2/PKGBUILD
+++ b/extra/gtk2/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 163898 2012-07-21 19:20:18Z ibiru $
+# $Id: PKGBUILD 163911 2012-07-22 09:08:14Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gtk2
pkgname=('gtk2' 'gtk-update-icon-cache')
pkgver=2.24.11
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.gtk.org/"
makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxcomposite' 'libxdamage'
@@ -12,13 +12,16 @@ makedepends=('atk' 'pango' 'libxcursor' 'libxinerama' 'libxrandr' 'libxi' 'libxc
options=('!libtool')
license=('LGPL')
source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-$pkgver.tar.xz
- xid-collision-debug.patch)
+ xid-collision-debug.patch
+ fix-stuck-grabs.patch)
sha256sums=('328b4ea19a61040145e777e2ac49820968a382ac8581a380c9429897881812a9'
- 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558')
+ 'd758bb93e59df15a4ea7732cf984d1c3c19dff67c94b957575efea132b8fe558'
+ '7739a1ab04aaf6e7f87987bad106062456e71933bc50acd948160cc03634dcd9')
build() {
- cd "$srcdir/gtk+-$pkgver"
- patch -Np1 -i "$srcdir/xid-collision-debug.patch"
+ cd gtk+-$pkgver
+ patch -Np1 -i ../xid-collision-debug.patch
+ patch -Np1 -i ../fix-stuck-grabs.patch
CXX=/bin/false ./configure --prefix=/usr \
--sysconfdir=/etc \
@@ -38,7 +41,7 @@ package_gtk2() {
backup=(etc/gtk-2.0/gtkrc)
replaces=('gtk2-docs')
- cd "$srcdir/gtk+-$pkgver"
+ cd gtk+-$pkgver
make DESTDIR="$pkgdir" install
sed -i "s#env python#env python2#" $pkgdir/usr/bin/gtk-builder-convert
@@ -50,7 +53,7 @@ package_gtk-update-icon-cache() {
pkgdesc="The GTK+ update icon cache tool"
depends=('gdk-pixbuf2>=2.24.1-3')
- cd "$srcdir/gtk+-$pkgver/gtk"
+ cd gtk+-$pkgver/gtk
install -D -m755 gtk-update-icon-cache $pkgdir/usr/bin/gtk-update-icon-cache
}
diff --git a/extra/gtk2/fix-stuck-grabs.patch b/extra/gtk2/fix-stuck-grabs.patch
new file mode 100644
index 000000000..accec431e
--- /dev/null
+++ b/extra/gtk2/fix-stuck-grabs.patch
@@ -0,0 +1,47 @@
+From a9fb816a3f64227936f4b25882e4f20ab5018c9c Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen@redhat.com>
+Date: Wed, 16 May 2012 21:18:51 +0000
+Subject: Fix a case of 'stuck grab'
+
+This was showing up when using a combo box in list mode. After popping
+up the list, the keyboard grab appeared stuck. What was stuck here is
+only the client-side grab, since we forgot to clean up our grabs
+when receiving an UnmapNotify.
+
+This bug was introduced in 3f6592f60fd15fb353fc84600caefba3054dc892.
+
+[ Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 2.24 ]
+
+https://bugzilla.gnome.org/show_bug.cgi?id=680346
+---
+diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c
+index 7cc1000..b96e9f5 100644
+--- a/gdk/x11/gdkevents-x11.c
++++ b/gdk/x11/gdkevents-x11.c
+@@ -1799,16 +1799,15 @@ gdk_event_translate (GdkDisplay *display,
+ * means we hid the window ourselves, so we will have already flipped
+ * the iconified bit off.
+ */
+- if (window)
+- {
+- if (GDK_WINDOW_IS_MAPPED (window))
+- gdk_synthesize_window_state (window,
+- 0,
+- GDK_WINDOW_STATE_ICONIFIED);
+-
+- _gdk_xgrab_check_unmap (window, xevent->xany.serial);
+- }
++ if (window && GDK_WINDOW_IS_MAPPED (window))
++ gdk_synthesize_window_state (window,
++ 0,
++ GDK_WINDOW_STATE_ICONIFIED);
+ }
++
++ if (window)
++ _gdk_xgrab_check_unmap (window, xevent->xany.serial);
++
+ break;
+
+ case MapNotify:
+--
+cgit v0.9.0.2