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: Add RHEL code reviews
Date: Sun, 31 May 2026 02:07:18 GMT [thread overview]
Message-ID: <178019323826.1.2076911054579580433.rpms-ibus-b60ce10e89c6@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/ibus
Branch : autotool
Commit : b60ce10e89c6b1315f59bd5bfb1d0aa098a54b8f
Author : Takao Fujiwara <tfujiwar@redhat.com>
Date : 2019-12-11T19:50:30+09:00
Stats : +404/-1 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/ibus/c/b60ce10e89c6b1315f59bd5bfb1d0aa098a54b8f?branch=autotool
Log:
Add RHEL code reviews
- Fix Hangul preedit with mouse click for RHEL 8
---
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index bbd872a..632c253 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -2755,3 +2755,401 @@ index 43990d5f..378388d9 100644
--
2.21.0
+From bccf94d5ec1c5fc80d5aeac622f2ab8007d5a28a Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Fri, 29 Nov 2019 20:28:49 +0900
+Subject: [PATCH] src/tests: RHEL codereview for ibus-desktop-testing-runner
+
+---
+ src/tests/ibus-desktop-testing-runner.in | 16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
+index 141e9b5b..72537cd4 100755
+--- a/src/tests/ibus-desktop-testing-runner.in
++++ b/src/tests/ibus-desktop-testing-runner.in
+@@ -28,6 +28,10 @@
+ # # /root/ibus/tests/test-console.sh --tests ibus-compose \
+ # --builddir /root/ibus/src/tests --srcdir /root/ibus/src/tests
+
++# POSIX sh has no 'echo -e'
++: ${ECHO:='/usr/bin/echo'}
++
++
+ PROGNAME=`basename $0`
+ VERSION=0.1
+ DISPLAY=:99.0
+@@ -54,15 +58,15 @@ print_log()
+ shift
+ fi
+ NO_ESCAPE=`echo $@ | sed -e 's/\\\033\\[0;3.m//g' -e 's/\\\033\\[0m//g'`
+- echo $NO_ESCAPE >> $RESULT_LOG
++ $ECHO $NO_ESCAPE >> $RESULT_LOG
+ else
+- echo $@
++ $ECHO $@
+ fi
+ }
+
+ usage()
+ {
+- echo -e \
++ $ECHO -e \
+ "This test runs /usr/bin/ibus-daemon after install ibus\n" \
+ "$PROGNAME [OPTIONS…]\n" \
+ "\n" \
+@@ -92,7 +96,7 @@ parse_args()
+ while [ 1 ] ; do
+ case "$1" in
+ -h | --help ) usage; exit 0;;
+- -v | --version ) echo -e "$VERSION"; exit 0;;
++ -v | --version ) $ECHO -e "$VERSION"; exit 0;;
+ -b | --builddir ) BUILDDIR="$2"; shift 2;;
+ -s | --srcdir ) SRCDIR="$2"; shift 2;;
+ -c | --no-graphics ) HAVE_GRAPHICS=0; shift;;
+@@ -121,7 +125,7 @@ init_desktop()
+ fi
+ if [ "$TEST_LOG" = "" ] ; then
+ print_log -e "${RED}FAIL${NC}: ${RED}ERROR${NC}: a log file is required to get return value with 'read' command"
+- exit -1
++ exit 255
+ elif [ -f $TEST_LOG ] ; then
+ rm $TEST_LOG
+ fi
+@@ -291,7 +295,7 @@ EOF
+ done
+ child_pass=`grep '^PASS:' $TEST_LOG | wc -l`
+ child_fail=`grep '^FAIL:' $TEST_LOG | wc -l`
+- if [ $child_pass -ne 0 -o $child_fail -ne 0 ] ; then
++ if [ $child_pass -ne 0 ] || [ $child_fail -ne 0 ] ; then
+ pass=$child_pass
+ if [ $child_fail -ne 0 ] ; then
+ fail=`expr $child_fail / 2`
+--
+2.21.0
+
+From d50627f0b7a000ee13ea6dcc02a4162be1fa853d Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Tue, 3 Dec 2019 21:42:49 +0900
+Subject: [PATCH] src/tests: RHEL codereview #2 for ibus-desktop-testing-runner
+
+---
+ src/tests/ibus-compose-locales.in | 21 +++++++--------
+ src/tests/ibus-desktop-testing-runner.in | 33 ++++++++++++------------
+ 2 files changed, 27 insertions(+), 27 deletions(-)
+
+diff --git a/src/tests/ibus-compose-locales.in b/src/tests/ibus-compose-locales.in
+index f650b584..b36165fe 100755
+--- a/src/tests/ibus-compose-locales.in
++++ b/src/tests/ibus-compose-locales.in
+@@ -7,27 +7,26 @@ BUILDDIR=`dirname $0`
+ export IBUS_COMPOSE_CACHE_DIR=$PWD
+
+ retval=0
+-# Let for-loop notice '\n' as a delimiter
+-IFS=$'\n'
+-for var in `cat $SRCDIR/ibus-compose.env`
++# Deleted for var in `cat *.env` because IFS=$'\n' is not supported in POSIX sh
++while read var
+ do
+- # Revert IFS to recognize env a=foo b=foo
+- IFS=' '
+ IS_COMMENT=`echo "$var" | grep "^#"`
+ if [ "x$IS_COMMENT" != x ] ; then
+ continue
+ fi
+- echo "# Starting $var $BUILDDIR/ibus-compose $SRCDIR $@"
+- env $var $BUILDDIR/ibus-compose $SRCDIR $@
++ # Use $* instead of $@ not to mix strings and integers
++ echo "# Starting $var $BUILDDIR/ibus-compose $SRCDIR $*"
++ # Need to enclose $@ with double quotes not to split the array.
++ env $var $BUILDDIR/ibus-compose $SRCDIR "$@"
+ retval=`expr $retval + $?`
+- echo "# Finished $var $BUILDDIR/ibus-compose $SRCDIR $@ with $retval"
++ echo "# Finished $var $BUILDDIR/ibus-compose $SRCDIR $* with $retval"
+
+ CACHE_FILES=`ls *.cache`
+ if [ x"$CACHE_FILES" != x ] ; then
+ echo "Clean $CACHE_FILES"
+ rm $CACHE_FILES
+ fi
+- IFS=$'\n'
+-done
+-IFS=' '
++done << EOF_ENVS
++`cat $SRCDIR/ibus-compose.env`
++EOF_ENVS
+ exit $retval
+diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
+index 72537cd4..981941d5 100755
+--- a/src/tests/ibus-desktop-testing-runner.in
++++ b/src/tests/ibus-desktop-testing-runner.in
+@@ -30,6 +30,8 @@
+
+ # POSIX sh has no 'echo -e'
+ : ${ECHO:='/usr/bin/echo'}
++# POSIX sh has $UID
++: ${UID:='`id -u`'}
+
+
+ PROGNAME=`basename $0`
+@@ -57,10 +59,10 @@ print_log()
+ if [ x"$1" = x'-e' ] ; then
+ shift
+ fi
+- NO_ESCAPE=`echo $@ | sed -e 's/\\\033\\[0;3.m//g' -e 's/\\\033\\[0m//g'`
++ NO_ESCAPE=`echo "$@" | sed -e 's/\\\033\\[0;3.m//g' -e 's/\\\033\\[0m//g'`
+ $ECHO $NO_ESCAPE >> $RESULT_LOG
+ else
+- $ECHO $@
++ $ECHO "$@"
+ fi
+ }
+
+@@ -231,9 +233,9 @@ run_direct_test_cases()
+ if test x"$ENVS" = x ; then
+ $BUILDDIR/$tst $SRCDIR 2>>$TEST_LOG 1>>$TEST_LOG
+ retval=$?
+- read pass fail << EOF
++ read pass fail << EOF_COUNT
+ `count_case_result $retval $pass $fail`
+-EOF
++EOF_COUNT
+ echo_case_result $retval $tst
+ CACHE_FILES=`ls *.cache`
+ if [ x"$CACHE_FILES" != x ] ; then
+@@ -242,11 +244,9 @@ EOF
+ fi
+ else
+ i=1
+- # Let for-loop notice '\n' as a delimiter
+- IFS=$'\n'
+- for e in $ENVS; do
+- # Revert IFS to recognize env a=foo b=foo
+- IFS=' '
++ # Deleted for var in "$ENVS" because IFS=$'\n' is not supported
++ # in POSIX sh
++ while read e ; do
+ first=`echo "$e" | grep '^#'`
+ if test x"$first" = x"#" ; then
+ continue
+@@ -255,9 +255,9 @@ EOF
+ env $e $BUILDDIR/$tst $SRCDIR 2>>$TEST_LOG 1>>$TEST_LOG
+ retval=$?
+ echo "# Finished $e $BUILDDIR/$tst $SRCDIR with $retval" >>$TEST_LOG
+- read pass fail << EOF
++ read pass fail << EOF_COUNT
+ `count_case_result $retval $pass $fail`
+-EOF
++EOF_COUNT
+ echo_case_result $retval $tst $e
+ CACHE_FILES=`ls *.cache`
+ if [ x"$CACHE_FILES" != x ] ; then
+@@ -265,9 +265,9 @@ EOF
+ rm $CACHE_FILES
+ fi
+ i=`expr $i + 1`
+- IFS=$'\n'
+- done
+- IFS=' '
++ done << EOF_ENVS
++ `echo "$ENVS"`
++EOF_ENVS
+ fi
+ done
+ echo $pass $fail
+@@ -357,7 +357,7 @@ finit()
+
+ main()
+ {
+- parse_args $@
++ parse_args "$@"
+ init_desktop
+ run_dbus_daemon 2>>$TEST_LOG 1>>$TEST_LOG
+ run_desktop 2>>$TEST_LOG 1>>$TEST_LOG
+@@ -365,4 +365,5 @@ main()
+ finit
+ }
+
+-main $@
++# Need to enclose $@ with double quotes not to split the array.
++main "$@"
+--
+2.21.0
+
+From 25d11f5cfd4c39e53be11a1348da29a61593cc4c Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Wed, 11 Dec 2019 16:28:22 +0900
+Subject: [PATCH] client/gtk2: Fix to set use_button_press_event after signals
+ are connected
+
+_ibus_context_update_preedit_text_cb() can be called with reset signals
+before ibus_im_context_set_client_window() is called. Then
+use_button_press_event needs to be set only when the signals are connected.
+
+BUG=https://github.com/ibus/ibus/issues/1980
+---
+ client/gtk2/ibusimcontext.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index 5e3457ba..ac5de809 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -1074,8 +1074,9 @@ ibus_im_context_reset (GtkIMContext *context)
+ /* Commented out ibus_im_context_clear_preedit_text().
+ * Hangul needs to receive the reset callback with button press
+ * but other IMEs should avoid to receive the reset callback
+- * so the signal would need to be customized with GtkSetting.
+- * IBus uses button-press-event instead.
++ * by themselves.
++ * IBus uses button-press-event instead until GTK is fixed.
++ * https://gitlab.gnome.org/GNOME/gtk/issues/1534
+ */
+ ibus_input_context_reset (ibusimcontext->ibuscontext);
+ }
+@@ -1657,10 +1658,13 @@ _ibus_context_update_preedit_text_cb (IBusInputContext *ibuscontext,
+ if (!ibusimcontext->use_button_press_event &&
+ mode == IBUS_ENGINE_PREEDIT_COMMIT) {
+ #if !GTK_CHECK_VERSION (3, 93, 0)
+- if (ibusimcontext->client_window)
++ if (ibusimcontext->client_window) {
+ _connect_button_press_event (ibusimcontext, TRUE);
+-#endif
++ ibusimcontext->use_button_press_event = TRUE;
++ }
++#else
+ ibusimcontext->use_button_press_event = TRUE;
++#endif
+ }
+
+ str = text->text;
+--
+2.21.0
+
+From 7830673205140e901df354b80a00254f7c08f30d Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Wed, 11 Dec 2019 19:10:24 +0900
+Subject: [PATCH] client/gtk2: Add IBUS_AUTO_PREEDIT_COMMIT_APPS env for
+ Hangul
+
+Firefox no longer connect "button-press-event" but uses
+GtkGestureMultiPress in GtkWindowPrivate and connects "pressed"
+instead and do not propagate the event with "button-press-event".
+
+We don't commit the preedit text in the client here for the
+workaround and let firefox commit the preedit text to avoid the
+double preedit text with mouse click.
+
+BUG=https://github.com/ibus/ibus/issues/1980
+---
+ client/gtk2/ibusimcontext.c | 32 ++++++++++++++++++++++++++++----
+ configure.ac | 13 ++++++++++++-
+ 2 files changed, 40 insertions(+), 5 deletions(-)
+
+diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
+index ac5de809..df78ce48 100644
+--- a/client/gtk2/ibusimcontext.c
++++ b/client/gtk2/ibusimcontext.c
+@@ -2,8 +2,8 @@
+ /* vim:set et sts=4: */
+ /* ibus - The Input Bus
+ * Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
+- * Copyright (C) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
+- * Copyright (C) 2008-2018 Red Hat, Inc.
++ * Copyright (C) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
++ * Copyright (C) 2008-2019 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+@@ -97,6 +97,9 @@ static gboolean _use_sync_mode = FALSE;
+ static const gchar *_discard_password_apps = "";
+ static gboolean _use_discard_password = FALSE;
+
++static const gchar *_auto_commit_apps = AUTO_PREEDIT_COMMIT_APPS;
++static gboolean _use_auto_commit = FALSE;
++
+ static GtkIMContext *_focus_im_context = NULL;
+ static IBusInputContext *_fake_context = NULL;
+ static GdkWindow *_input_window = NULL;
+@@ -636,6 +639,7 @@ ibus_im_context_class_init (IBusIMContextClass *class)
+ !(ENABLE_SNOOPER));
+ _use_sync_mode = _get_boolean_env ("IBUS_ENABLE_SYNC_MODE", FALSE);
+ _use_discard_password = _get_boolean_env ("IBUS_DISCARD_PASSWORD", FALSE);
++ _use_auto_commit = _get_boolean_env ("IBUS_AUTO_PREEDIT_COMMIT", FALSE);
+
+ #define CHECK_APP_IN_CSV_ENV_VARIABLES(retval, \
+ env_apps, \
+@@ -672,6 +676,12 @@ ibus_im_context_class_init (IBusIMContextClass *class)
+ _discard_password_apps,
+ TRUE);
+ }
++ if (!_use_auto_commit) {
++ CHECK_APP_IN_CSV_ENV_VARIABLES (_use_auto_commit,
++ IBUS_AUTO_PREEDIT_COMMIT_APPS,
++ _auto_commit_apps,
++ TRUE);
++ }
+
+ #undef CHECK_APP_IN_CSV_ENV_VARIABLES
+
+@@ -896,9 +906,23 @@ ibus_im_context_clear_preedit_text (IBusIMContext *ibusimcontext)
+ IBUS_ENGINE_PREEDIT_CLEAR,
+ ibusimcontext);
+ if (preedit_string) {
+- g_signal_emit (ibusimcontext, _signal_commit_id, 0, preedit_string);
++ /* Firefox no longer connect "button-press-event" but uses
++ * GtkGestureMultiPress in GtkWindowPrivate and connects "pressed"
++ * instead and do not propagate the event with "button-press-event".
++ * We don't commit the preedit text in the client here for the
++ * workaround and let firefox commit the preedit text to avoid the
++ * double preedit text with mouse click.
++ * After we fix the GTK reset signal to always emit the reset signal
++ * with mouse click, also will try to fix the Firefox
++ * reset signal so that ibus clients receive the signal before Firefox
++ * composes the preedit text because the options of commit, clear,
++ * keep depends on each IBus engine but Firefox cannot know each engine.
++ */
++ if (!_use_auto_commit) {
++ g_signal_emit (ibusimcontext, _signal_commit_id, 0, preedit_string);
++ _request_surrounding_text (ibusimcontext);
++ }
+ g_free (preedit_string);
+- _request_surrounding_text (ibusimcontext);
+ }
+ }
+
+diff --git a/configure.ac b/configure.ac
+index ab74a380..12642834 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -540,6 +540,16 @@ AC_ARG_WITH(no-snooper-apps,
+ AC_DEFINE_UNQUOTED(NO_SNOOPER_APPS, "$NO_SNOOPER_APPS",
+ [Does not enbale keyboard snooper in those applications])
+
++# Option for auto-preedit-commit applications.
++AC_ARG_WITH(auto-preedit-commit-apps,
++ AS_HELP_STRING([--with-auto-preedit-commit-apps[=regex1,regex2]],
++ [Applications have auto-commit of preedit with mouse click (like: .*chrome.*,firefox.*)]),
++ AUTO_PREEDIT_COMMIT_APPS=$with_auto_preedit_commit_apps,
++ AUTO_PREEDIT_COMMIT_APPS=[firefox.*,.*chrome.*,.*chromium.*]
++)
++AC_DEFINE_UNQUOTED(AUTO_PREEDIT_COMMIT_APPS, "$AUTO_PREEDIT_COMMIT_APPS",
++ [Applications have auto-commit of preedit with mouse click])
++
+ # GNOME 3 uses the theme's icon.
+ AC_ARG_WITH(panel-icon-keyboard,
+ AS_HELP_STRING([--with-panel-icon-keyboard[=icon_name]],
+@@ -812,7 +822,8 @@ Build options:
+ Build UI $enable_ui
+ Build engine $enable_engine
+ Enable key snooper $enable_key_snooper
+- No snooper regexes "$NO_SNOOPER_APPS"
++ No snooper apps "$NO_SNOOPER_APPS"
++ Auto preedit commit apps "$AUTO_PREEDIT_COMMIT_APPS"
+ Panel icon "$IBUS_ICON_KEYBOARD"
+ Enable surrounding-text $enable_surrounding_text
+ Enable Emoji dict $enable_emoji_dict
+--
+2.21.0
+
diff --git a/ibus.spec b/ibus.spec
index 59e7a8a..c4fe6f6 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -35,7 +35,7 @@
Name: ibus
Version: 1.5.21
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Intelligent Input Bus for Linux OS
License: LGPLv2+
URL: https://github.com/ibus/%name/wiki
@@ -256,6 +256,7 @@ the functionality of the installed %{name} package.
%prep
%autosetup -S git
# cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || :
+cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || :
# prep test
@@ -463,6 +464,10 @@ dconf update || :
%{_datadir}/installed-tests/ibus
%changelog
+* Wed Dec 11 2019 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.21-5
+- Add RHEL code reviews
+- Fix Hangul preedit with mouse click for RHEL 8
+
* Mon Nov 18 2019 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.21-4
- Replace push with cd for Posix SH
- Use XDG_CONFIG_HOME for Unix socket directory
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=178019323826.1.2076911054579580433.rpms-ibus-b60ce10e89c6@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