gtk3: fix keyboard input when using IMEs
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
From 73038543106f8af8f41132f4a245056a94322c92 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Tan <jtanx@outlook.com>
|
||||
Date: Fri, 9 Jul 2021 12:35:44 +0800
|
||||
Subject: [PATCH] gdkkeys-win32.c: fix initialisation of key_state in
|
||||
update_keymap
|
||||
|
||||
It apparently worked by chance in the past, but now causes e.g.
|
||||
alphanumeric characters to be interpreted as half-width katakana
|
||||
when using the Japanese IME.
|
||||
---
|
||||
gdk/win32/gdkkeys-win32.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gdk/win32/gdkkeys-win32.c b/gdk/win32/gdkkeys-win32.c
|
||||
index b4753e1f79..4ef8c4b102 100644
|
||||
--- a/gdk/win32/gdkkeys-win32.c
|
||||
+++ b/gdk/win32/gdkkeys-win32.c
|
||||
@@ -692,6 +692,7 @@ update_keymap (GdkKeymap *gdk_keymap)
|
||||
if (hkls_len != keymap->layout_handles->len)
|
||||
keymap->keysym_tab = g_renew (guint, keymap->keysym_tab, keysym_tab_size);
|
||||
|
||||
+ memset (key_state, 0, sizeof(key_state));
|
||||
memset (keymap->keysym_tab, 0, keysym_tab_size);
|
||||
g_array_set_size (keymap->layout_handles, hkls_len);
|
||||
g_array_set_size (keymap->options, hkls_len);
|
||||
--
|
||||
2.32.0
|
||||
|
||||
@@ -4,7 +4,7 @@ _realname=gtk3
|
||||
pkgbase=mingw-w64-${_realname}
|
||||
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-gtk-update-icon-cache")
|
||||
pkgver=3.24.29
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc="GObject-based multi-platform GUI toolkit (v3) (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
|
||||
@@ -32,6 +32,7 @@ source=("https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-${pkgver}.tar
|
||||
"0002-Revert-Quartz-Set-the-popup-menu-type-hint-before-re.patch"
|
||||
"0003-gtkwindow-Don-t-force-enable-CSD-under-Windows.patch"
|
||||
"0004-Disable-low-level-keyboard-hook.patch"
|
||||
"0005-gdkkeys-win32.c-fix-initialisation-of-key_state-in-u.patch"
|
||||
"gtk-query-immodules-3.0.hook.in"
|
||||
"gtk-update-icon-cache.hook.in"
|
||||
"gtk-update-icon-cache.script.in")
|
||||
@@ -39,6 +40,7 @@ sha256sums=('f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa'
|
||||
'5cdebb11098d241da955d4662904215275fa7a54d52877cc38c4ff4a3087fafd'
|
||||
'b84a7f38f0af80680bee143d431f2a7bae53899efb337de0f67a1b4d9b59fa02'
|
||||
'e553083298495f9581ae1454b1046a22b83e81862311b30de984057eec859708'
|
||||
'a95bc0b5f5ca4fbbe8f74bad633b9cbe9d79c7fd280be82088454ecb2c31b300'
|
||||
'adbe57eb726d882bba7a031ab8fb1788e7cd03cbf713823fd0f99d3cb380b97c'
|
||||
'56a566739c4f153f3c924b2bfe5ec7aaca469e15c023810cd7c5f57036d1a258'
|
||||
'b6306c6e117e879a60febc8e398a5a181325255a2e2c785c77222664b683f9dd')
|
||||
@@ -53,6 +55,9 @@ prepare() {
|
||||
patch -p1 -i "${srcdir}"/0003-gtkwindow-Don-t-force-enable-CSD-under-Windows.patch
|
||||
|
||||
patch -p1 -i "${srcdir}"/0004-Disable-low-level-keyboard-hook.patch
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3741
|
||||
patch -p1 -i "${srcdir}"/0005-gdkkeys-win32.c-fix-initialisation-of-key_state-in-u.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
|
||||
Reference in New Issue
Block a user