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
|
||||
|
||||
[ 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
|
||||
015_default-fallback-icon-theme.patch
|
||||
022_disable-viqr-im-for-vi-locale.patch
|
||||
030_xim-modules.patch
|
||||
041_ia32-libs.patch
|
||||
042_treeview_single-focus.patch
|
||||
043_notebook_scroll.patch
|
||||
|
||||
Reference in New Issue
Block a user