public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Takao Fujiwara <tfujiwar@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/ibus] autotool: Fix forwarding keycode in GTK4
Date: Sun, 31 May 2026 02:07:46 GMT	[thread overview]
Message-ID: <178019326663.1.11727476633629265211.rpms-ibus-a902aab7a97e@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/ibus
Branch : autotool
Commit : a902aab7a97e90bce1b3f6a450c82f125d7e910b
Author : Takao Fujiwara <tfujiwar@redhat.com>
Date   : 2022-02-21T21:27:54+09:00
Stats  : +55/-10 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/ibus/c/a902aab7a97e90bce1b3f6a450c82f125d7e910b?branch=autotool

Log:
Fix forwarding keycode in GTK4

---
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index cb688e1..80550b0 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -1926,9 +1926,9 @@ index 00000000..76444dbd
 -- 
 2.33.1
 
-From 9a87a78549cb938c4810bcd311dd36823afd0fcd Mon Sep 17 00:00:00 2001
+From b5423f0cff78e627fec12378bfcc70efa79e9379 Mon Sep 17 00:00:00 2001
 From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Sat, 12 Feb 2022 10:50:54 +0900
+Date: Thu, 17 Feb 2022 20:15:38 +0900
 Subject: [PATCH] src/services: Add org.freedesktop.IBus.session.generic.service
 
 Move bus/*.service.in & src/*.service.in into bus/services
@@ -1988,7 +1988,7 @@ index 4383a874..e173ee25 100644
  -include $(top_srcdir)/git.mk
 diff --git a/bus/services/Makefile.am b/bus/services/Makefile.am
 new file mode 100644
-index 00000000..53c21f58
+index 00000000..9cc42153
 --- /dev/null
 +++ b/bus/services/Makefile.am
 @@ -0,0 +1,68 @@
@@ -2016,11 +2016,11 @@ index 00000000..53c21f58
 +
 +NULL =
 +
-+# Originally this file was added for GNOME but seems not to be used
-+# at present.
++# Originally this D-Bus service file was added for GNOME but seems not to
++# be used at present.
 +#
-+# TODO: Check if flatpack uses this file and we could rename
-+# org.freedesktop.IBus.service to org.freedesktop.IBus.DBus.GNOME.service
++# TODO: Check if flatpack uses this file and we could delete
++# org.freedesktop.IBus.service file in the future.
 +dbusservice_in_files = org.freedesktop.IBus.service.in
 +dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
 +dbusservicedir=${datadir}/dbus-1/services
@@ -2230,9 +2230,51 @@ index bbaa6c90..578694b5 100644
 -- 
 2.33.1
 
-From e325fc21b492eee83cb93712472495059395dc7b Mon Sep 17 00:00:00 2001
+From 5cfe838715097d61b50da55f80bcff2c698ca885 Mon Sep 17 00:00:00 2001
+From: Changwoo Ryu <cwryu@debian.org>
+Date: Fri, 18 Feb 2022 09:07:02 +0900
+Subject: [PATCH] client/gtk2/ibusimcontext: Fix forward key keycode for GTK4
+
+When a keycode is provided (!= 0) for a forwarded key event, convert it to a
+GTK keycode before passing it to gtk_im_context_filter_key().
+
+Also free GdkKeymapKey after gdk_display_map_keyval() is called.
+
+BUG=https://github.com/ibus/ibus/issues/2380
+BUG=https://github.com/ibus/ibus/issues/2382
+---
+ client/gtk2/ibusimcontext.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index c2df3a87..a5e5e792 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -1945,7 +1945,9 @@ _ibus_context_forward_key_event_cb (IBusInputContext  *ibuscontext,
+ #if GTK_CHECK_VERSION (3, 98, 4)
+     int group = 0;
+     g_return_if_fail (GTK_IS_IM_CONTEXT (ibusimcontext));
+-    if (keycode == 0 && ibusimcontext->client_window) {
++    if (keycode != 0) {
++        keycode += 8; // to GTK keycode
++    } else if (ibusimcontext->client_window) {
+         GdkDisplay *display =
+                 gtk_widget_get_display (ibusimcontext->client_window);
+         GdkKeymapKey *keys = NULL;
+@@ -1953,6 +1955,7 @@ _ibus_context_forward_key_event_cb (IBusInputContext  *ibuscontext,
+         if (gdk_display_map_keyval (display, keyval, &keys, &n_keys)) {
+             keycode = keys->keycode;
+             group = keys->group;
++            g_free (keys);
+         } else {
+             g_warning ("Failed to parse keycode from keyval %x", keyval);
+         }
+-- 
+2.33.1
+
+From a82bda58a45470c4be0f3db21eaddc73a230807f Mon Sep 17 00:00:00 2001
 From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Sat, 12 Feb 2022 11:02:29 +0900
+Date: Fri, 18 Feb 2022 12:04:09 +0900
 Subject: [PATCH] src/tests: Fix typos
 
 - test_metas_in location

diff --git a/ibus.spec b/ibus.spec
index e6c493f..0d18658 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -39,7 +39,7 @@
 
 Name:           ibus
 Version:        1.5.25
-Release:        10%{?dist}
+Release:        11%{?dist}
 Summary:        Intelligent Input Bus for Linux OS
 License:        LGPLv2+
 URL:            https://github.com/ibus/%name/wiki
@@ -522,6 +522,9 @@ dconf update || :
 %{_datadir}/installed-tests/ibus
 
 %changelog
+* Mon Feb 21 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-11
+- Fix forwarding keycode in GTK4
+
 * Fri Feb 11 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-10
 - Do not mkdir abstract unix socket
 - Fix IBus.key_event_from_string

                 reply	other threads:[~2026-05-31  2:07 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178019326663.1.11727476633629265211.rpms-ibus-a902aab7a97e@fedoraproject.org \
    --to=tfujiwar@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox