030_xim-modules.patch: stolen from upstream git. Fix the behavior of
XIM modules. Closes: #633720.
This commit is contained in:
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,3 +1,10 @@
|
|||||||
|
gtk+3.0 (3.0.12-3) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
* 030_xim-modules.patch: stolen from upstream git. Fix the behavior of
|
||||||
|
XIM modules. Closes: #633720.
|
||||||
|
|
||||||
|
-- Josselin Mouette <joss@debian.org> Sun, 04 Sep 2011 15:36:14 +0200
|
||||||
|
|
||||||
gtk+3.0 (3.0.12-2) unstable; urgency=low
|
gtk+3.0 (3.0.12-2) unstable; urgency=low
|
||||||
|
|
||||||
[ Josselin Mouette ]
|
[ Josselin Mouette ]
|
||||||
|
|||||||
36
debian/patches/030_xim-modules.patch
vendored
Normal file
36
debian/patches/030_xim-modules.patch
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
From d3274e8e0619bad02a7fa31874943707dc209fc8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Carlos Garnacho <carlosg@gnome.org>
|
||||||
|
Date: Sat, 02 Apr 2011 09:46:42 +0000
|
||||||
|
Subject: xi2: Handle XIM modules that replace events
|
||||||
|
|
||||||
|
Fixes Bug 645993 - XIM has wierd behaviors. Some XIM modules
|
||||||
|
filter every key event, possibly replacing it with their own
|
||||||
|
one. These events usually have serial=0, so make
|
||||||
|
GdkDeviceManagerXI2 also listen on these.
|
||||||
|
---
|
||||||
|
diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c
|
||||||
|
index 64d0f59..1953b48 100644
|
||||||
|
--- a/gdk/x11/gdkdevicemanager-xi2.c
|
||||||
|
+++ b/gdk/x11/gdkdevicemanager-xi2.c
|
||||||
|
@@ -938,13 +938,18 @@ gdk_x11_device_manager_xi2_translate_core_event (GdkEventTranslator *translator,
|
||||||
|
gboolean keyboard = FALSE;
|
||||||
|
GdkDevice *device;
|
||||||
|
|
||||||
|
- if (xevent->type == KeyPress && xevent->xkey.keycode == 0)
|
||||||
|
+ if ((xevent->type == KeyPress || xevent->type == KeyRelease) &&
|
||||||
|
+ (xevent->xkey.keycode == 0 || xevent->xkey.serial == 0))
|
||||||
|
{
|
||||||
|
/* The X input methods (when triggered via XFilterEvent)
|
||||||
|
* generate a core key press event with keycode 0 to signal the
|
||||||
|
* end of a key sequence. We use the core translate_event
|
||||||
|
* implementation to translate this event.
|
||||||
|
*
|
||||||
|
+ * Other less educated IM modules like to filter every keypress,
|
||||||
|
+ * only to have these replaced by their own homegrown events,
|
||||||
|
+ * these events oddly have serial=0, so we try to catch these.
|
||||||
|
+ *
|
||||||
|
* This is just a bandaid fix to keep xim working with a single
|
||||||
|
* keyboard until XFilterEvent learns about XI2.
|
||||||
|
*/
|
||||||
|
--
|
||||||
|
cgit v0.9.0.2
|
||||||
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -3,6 +3,7 @@
|
|||||||
003_gdk.pc_privates.patch
|
003_gdk.pc_privates.patch
|
||||||
015_default-fallback-icon-theme.patch
|
015_default-fallback-icon-theme.patch
|
||||||
022_disable-viqr-im-for-vi-locale.patch
|
022_disable-viqr-im-for-vi-locale.patch
|
||||||
|
030_xim-modules.patch
|
||||||
041_ia32-libs.patch
|
041_ia32-libs.patch
|
||||||
042_treeview_single-focus.patch
|
042_treeview_single-focus.patch
|
||||||
043_notebook_scroll.patch
|
043_notebook_scroll.patch
|
||||||
|
|||||||
Reference in New Issue
Block a user