summaryrefslogtreecommitdiff
path: root/extra/gtk2/fix-stuck-grabs.patch
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-07-27 20:23:53 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-07-27 20:23:53 -0300
commit3a3f329b736af639fdd3c9621816bad627b96903 (patch)
treea0935f38e21136a3b7eeb93d0ec5c449c12de5b0 /extra/gtk2/fix-stuck-grabs.patch
parent4d788e769855cbef2539d7cf7049dc2b4d9ac2e0 (diff)
parent2c30604c9ff749660a4b8507eec99e679cf19508 (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community-staging/kdenlive/PKGBUILD community-staging/openscenegraph/PKGBUILD community-staging/schroot/PKGBUILD community-staging/wt/PKGBUILD community-testing/cdfs/PKGBUILD community-testing/pingus/PKGBUILD community-testing/tagpy/PKGBUILD community-testing/vhba-module/PKGBUILD community-testing/vhba-module/vhba-module.install community/surf/PKGBUILD community/unpaper/PKGBUILD core/flex/PKGBUILD core/gcc/PKGBUILD extra/boost/PKGBUILD extra/cups/PKGBUILD extra/gnutls/PKGBUILD extra/gtk2/PKGBUILD extra/llvm/PKGBUILD extra/mesa/PKGBUILD extra/qt/PKGBUILD kde-unstable/akonadi/PKGBUILD kde-unstable/kdeplasma-addons/PKGBUILD libre/virtualbox-libre/PKGBUILD multilib/gcc-multilib/PKGBUILD multilib/lib32-libpng/PKGBUILD testing/bind/PKGBUILD testing/dnsutils/PKGBUILD testing/iptables/PKGBUILD testing/nouveau-dri/PKGBUILD
Diffstat (limited to 'extra/gtk2/fix-stuck-grabs.patch')
-rw-r--r--extra/gtk2/fix-stuck-grabs.patch47
1 files changed, 47 insertions, 0 deletions
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