update to 1.5.23
This commit is contained in:
parent
5e124a9981
commit
167d1b74e4
@ -1,23 +0,0 @@
|
||||
diff --git a/docs/reference/ibus/Makefile.am b/docs/reference/ibus/Makefile.am
|
||||
index 1ece234c1..0f307bbdc 100644
|
||||
--- a/docs/reference/ibus/Makefile.am
|
||||
+++ b/docs/reference/ibus/Makefile.am
|
||||
@@ -3,8 +3,8 @@
|
||||
# ibus - The Input Bus
|
||||
#
|
||||
# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
|
||||
-# Copyright (c) 2007-2015 Red Hat, Inc.
|
||||
-# Copyright (c) 2015 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+# Copyright (c) 2007-2020 Red Hat, Inc.
|
||||
+# Copyright (c) 2015-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
@@ -147,6 +147,6 @@ tmpl-build.stamp: trim-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DO
|
||||
# clean-local:
|
||||
# rm -rf tmpl ${DOC_MODULE)
|
||||
|
||||
-CLEANFILES+= *.stamp
|
||||
+CLEANFILES+= *actions *.stamp
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
76
30a3641e19c541924959a5770dd784b4424288d4.patch
Normal file
76
30a3641e19c541924959a5770dd784b4424288d4.patch
Normal file
@ -0,0 +1,76 @@
|
||||
diff --git a/.travis.yml b/.travis.yml
|
||||
new file mode 100644
|
||||
index 000000000..e90dc230c
|
||||
--- /dev/null
|
||||
+++ b/.travis.yml
|
||||
@@ -0,0 +1,70 @@
|
||||
+language: c
|
||||
+compiler: gcc
|
||||
+os: linux
|
||||
+
|
||||
+# Require gettext-0.19.8
|
||||
+dist: focal
|
||||
+
|
||||
+branches:
|
||||
+ only:
|
||||
+ - master
|
||||
+
|
||||
+# FIXME: Run script in every arch
|
||||
+arch:
|
||||
+ - amd64
|
||||
+ #- ppc64le
|
||||
+ #- s390x
|
||||
+ #- arm64
|
||||
+
|
||||
+addons:
|
||||
+ apt:
|
||||
+ packages:
|
||||
+ # For autogen.sh
|
||||
+ - gnome-common
|
||||
+ - gtk-doc-tools
|
||||
+ # For make from
|
||||
+ # https://packages.ubuntu.com/search?searchon=sourcenames&keywords=ibus
|
||||
+ - desktop-file-utils
|
||||
+ - gobject-introspection
|
||||
+ - iso-codes
|
||||
+ - libdconf-dev
|
||||
+ - libgirepository1.0-dev
|
||||
+ - libglib2.0-dev
|
||||
+ - libgtk-3-bin
|
||||
+ - libgtk-3-dev
|
||||
+ - libgtk2.0-dev
|
||||
+ - libtool
|
||||
+ - libwayland-dev
|
||||
+ - python-gi-dev
|
||||
+ - python3-all
|
||||
+ - unicode-cldr-core
|
||||
+ - unicode-data
|
||||
+ - valac
|
||||
+
|
||||
+jobs:
|
||||
+ include:
|
||||
+ - name: Build in Ubuntu
|
||||
+ before_script:
|
||||
+ - sudo apt-get -qq update
|
||||
+ script:
|
||||
+ - set -e
|
||||
+ - git pull --depth=200
|
||||
+ # configure options from
|
||||
+ # https://salsa.debian.org/debian/ibus/-/blob/master/debian/rules
|
||||
+ - >
|
||||
+ ./autogen.sh
|
||||
+ --with-ucd-dir='/usr/share/unicode'
|
||||
+ # Set the cutom DESTDIR because the default DESTDIR
|
||||
+ # /home/travis/bulid/fujiwarat/$PKG/ibus/ibus-$VERSION/_inst seems to be
|
||||
+ # too long and failed to set DESTDIR to install bindings/pygobject/IBus.py
|
||||
+ - >
|
||||
+ make distcheck
|
||||
+ DISTCHECK_CONFIGURE_FLAGS="
|
||||
+ --enable-gtk-doc
|
||||
+ --disable-schemas-install
|
||||
+ --enable-memconf
|
||||
+ --with-ucd-dir='/usr/share/unicode'
|
||||
+ "
|
||||
+ DISABLE_GUI_TESTS="ibus-compose ibus-keypress test-stress"
|
||||
+ VERBOSE=1
|
||||
+ DESTDIR="$HOME/build/$USER/dest"
|
||||
@ -1,126 +0,0 @@
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index 99de1ab7c..742ee7d78 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -3,7 +3,7 @@
|
||||
# ibus - The Input Bus
|
||||
#
|
||||
# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
|
||||
-# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+# Copyright (c) 2015-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
# Copyright (c) 2007-2017 Red Hat, Inc.
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
@@ -248,6 +248,7 @@ AM_CPPFLAGS += -DENABLE_EMOJI_DICT
|
||||
dictdir = $(pkgdatadir)/dicts
|
||||
LANG_FILES = $(basename $(notdir $(wildcard $(EMOJI_ANNOTATION_DIR)/*.xml)))
|
||||
EMOJI_DICT_FILES = $(patsubst %,dicts/emoji-%.dict,$(LANG_FILES))
|
||||
+# emoji-root.dict, emoji-sr_Cyrl.dict have no contents.
|
||||
dict_DATA = $(EMOJI_DICT_FILES)
|
||||
|
||||
noinst_PROGRAMS += emoji-parser
|
||||
@@ -265,6 +266,7 @@ dicts/emoji-%.dict: emoji-parser
|
||||
xml_derived_option="--xml-derived $(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$*.xml"; \
|
||||
plus_comment="derived"; \
|
||||
fi; \
|
||||
+ is_skip=0; \
|
||||
if test x"$*" = xen ; then \
|
||||
$(builddir)/emoji-parser \
|
||||
--unicode-emoji-dir $(UNICODE_EMOJI_DIR) \
|
||||
@@ -279,48 +281,43 @@ dicts/emoji-%.dict: emoji-parser
|
||||
--xml $(EMOJI_ANNOTATION_DIR)/$*.xml \
|
||||
$$xml_derived_option \
|
||||
--out $@; \
|
||||
+ retval=$$?; \
|
||||
+ if test $$retval -eq 99 ; then \
|
||||
+ is_skip=1; \
|
||||
+ touch $@; \
|
||||
+ elif test $$retval -ne 0 ; then \
|
||||
+ echo "Fail to generate $@"; \
|
||||
+ abrt; \
|
||||
+ fi; \
|
||||
fi; \
|
||||
- echo "Generated $$plus_comment $@"
|
||||
+ if test $$is_skip -eq 0 ; then \
|
||||
+ echo "Generated $$plus_comment $@"; \
|
||||
+ else \
|
||||
+ echo "Skip $$plus_comment $@"; \
|
||||
+ fi;
|
||||
|
||||
ibusemojigen.h: dicts/emoji-en.dict
|
||||
$(NULL)
|
||||
|
||||
-install-data-hook: $(dict_DATA)
|
||||
- @$(NORMAL_INSTALL)
|
||||
+# We put dicts/emoji-%.dict as the make target for the parallel build
|
||||
+# and the make target has to be genarated even if the file size is zero.
|
||||
+# But we don't want to install the zero size files and delete them
|
||||
+# in install-data-hook.
|
||||
+install-data-hook:
|
||||
$(AM_V_at)list='$(wildcard dicts/*.dict)'; \
|
||||
test -n "$(dictdir)" || list=; \
|
||||
- if test -n "$$list"; then \
|
||||
- echo " $(MKDIR_P) '$(DESTDIR)$(dictdir)'"; \
|
||||
- $(MKDIR_P) "$(DESTDIR)$(dictdir)" || exit 1; \
|
||||
- fi; \
|
||||
for p in $$list; do \
|
||||
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
- echo "$$d$$p"; \
|
||||
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
+ if test -s "$$d$$p"; then continue; fi; \
|
||||
+ basename "$$p"; \
|
||||
done | \
|
||||
- while read files; do \
|
||||
- if [ x$(AM_DEFAULT_VERBOSITY) = x1 ] ; then \
|
||||
- echo "$(INSTALL_DATA) $$files '$(DESTDIR)$(dictdir)'"; \
|
||||
- else \
|
||||
- echo "Installing $$files"; \
|
||||
- fi; \
|
||||
- $(INSTALL_DATA) $$files "$(DESTDIR)$(dictdir)" || exit $$?; \
|
||||
+ while read file; do \
|
||||
+ if test -f "$(DESTDIR)$(dictdir)/$$file"; then \
|
||||
+ echo "Delete $(DESTDIR)$(dictdir)/$$file"; \
|
||||
+ rm "$(DESTDIR)$(dictdir)/$$file" || exit $$?; \
|
||||
+ fi; \
|
||||
done
|
||||
|
||||
-dict__uninstall_files_from_dir = { \
|
||||
- test -z "$$files" \
|
||||
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
- cd "$$dir" && rm -f $$files; }; \
|
||||
- }
|
||||
-
|
||||
-# for make dist
|
||||
-uninstall-hook:
|
||||
- @$(NORMAL_UNINSTALL)
|
||||
- $(AM_V_at)list='$(wildcard dicts/*.dict)'; \
|
||||
- test -n "$(dictdir)" || list=; \
|
||||
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
- dir='$(DESTDIR)$(dictdir)'; $(dict__uninstall_files_from_dir)
|
||||
-
|
||||
emoji_parser_SOURCES = \
|
||||
emoji-parser.c \
|
||||
$(NULL)
|
||||
diff --git a/src/emoji-parser.c b/src/emoji-parser.c
|
||||
index 96a779c65..b117b1b41 100644
|
||||
--- a/src/emoji-parser.c
|
||||
+++ b/src/emoji-parser.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
|
||||
/* vim:set et sts=4: */
|
||||
/* ibus - The Input Bus
|
||||
- * Copyright (C) 2016-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+ * Copyright (C) 2016-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
* Copyright (C) 2016 Red Hat, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
@@ -1294,6 +1294,8 @@ main (int argc, char *argv[])
|
||||
category_file_save (output_category, list);
|
||||
if (list)
|
||||
g_slist_free (list);
|
||||
+ else
|
||||
+ return 99;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1,120 +0,0 @@
|
||||
diff --git a/src/ibustypes.h b/src/ibustypes.h
|
||||
index 06370a277..798ad04d9 100644
|
||||
--- a/src/ibustypes.h
|
||||
+++ b/src/ibustypes.h
|
||||
@@ -2,7 +2,7 @@
|
||||
/* vim:set et sts=4: */
|
||||
/* ibus - The Input Bus
|
||||
* Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
|
||||
- * Copyright (C) 2008-2015 Red Hat, Inc.
|
||||
+ * Copyright (C) 2008-2020 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
|
||||
@@ -241,29 +241,46 @@ typedef void (* IBusFreeFunc) (gpointer object);
|
||||
* @IBUS_INPUT_PURPOSE_EMAIL: Edited field expects email address
|
||||
* @IBUS_INPUT_PURPOSE_NAME: Edited field expects the name of a person
|
||||
* @IBUS_INPUT_PURPOSE_PASSWORD: Like @IBUS_INPUT_PURPOSE_FREE_FORM,
|
||||
- * but characters are hidden
|
||||
+ * but characters are hidden
|
||||
* @IBUS_INPUT_PURPOSE_PIN: Like @IBUS_INPUT_PURPOSE_DIGITS, but
|
||||
- * characters are hidden
|
||||
+ * characters are hidden
|
||||
+ * @IBUS_INPUT_PURPOSE_TERMINAL: Allow any character, in addition to control
|
||||
+ * codes. Since 1.5.24
|
||||
*
|
||||
* Describes primary purpose of the input context. This information
|
||||
* is particularly useful to implement intelligent behavior in
|
||||
* engines, such as automatic input-mode switch and text prediction.
|
||||
*
|
||||
+ * Note that the purpose is not meant to impose a totally strict rule
|
||||
+ * about allowed characters, and does not replace input validation.
|
||||
+ * It is fine for an on-screen keyboard to let the user override the
|
||||
+ * character set restriction that is expressed by the purpose. The
|
||||
+ * application is expected to validate the entry contents, even if
|
||||
+ * it specified a purpose.
|
||||
+ *
|
||||
+ * The difference between @IBUS_INPUT_PURPOSE_DIGITS and
|
||||
+ * @IBUS_INPUT_PURPOSE_NUMBER is that the former accepts only digits
|
||||
+ * while the latter also some punctuation (like commas or points, plus,
|
||||
+ * minus) and “e” or “E” as in 3.14E+000.
|
||||
+ *
|
||||
* This enumeration may be extended in the future; engines should
|
||||
* interpret unknown values as 'free form'.
|
||||
+ *
|
||||
+ * Since: 1.5.4
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
- IBUS_INPUT_PURPOSE_FREE_FORM,
|
||||
- IBUS_INPUT_PURPOSE_ALPHA,
|
||||
- IBUS_INPUT_PURPOSE_DIGITS,
|
||||
- IBUS_INPUT_PURPOSE_NUMBER,
|
||||
- IBUS_INPUT_PURPOSE_PHONE,
|
||||
- IBUS_INPUT_PURPOSE_URL,
|
||||
- IBUS_INPUT_PURPOSE_EMAIL,
|
||||
- IBUS_INPUT_PURPOSE_NAME,
|
||||
- IBUS_INPUT_PURPOSE_PASSWORD,
|
||||
- IBUS_INPUT_PURPOSE_PIN
|
||||
+ IBUS_INPUT_PURPOSE_FREE_FORM,
|
||||
+ IBUS_INPUT_PURPOSE_ALPHA,
|
||||
+ IBUS_INPUT_PURPOSE_DIGITS,
|
||||
+ IBUS_INPUT_PURPOSE_NUMBER,
|
||||
+ IBUS_INPUT_PURPOSE_PHONE,
|
||||
+ IBUS_INPUT_PURPOSE_URL,
|
||||
+ IBUS_INPUT_PURPOSE_EMAIL,
|
||||
+ IBUS_INPUT_PURPOSE_NAME,
|
||||
+ IBUS_INPUT_PURPOSE_PASSWORD,
|
||||
+ IBUS_INPUT_PURPOSE_PIN,
|
||||
+ IBUS_INPUT_PURPOSE_TERMINAL
|
||||
} IBusInputPurpose;
|
||||
|
||||
/**
|
||||
@@ -280,24 +297,36 @@ typedef enum
|
||||
* first word of each sentence
|
||||
* @IBUS_INPUT_HINT_INHIBIT_OSK: Suggest to not show an onscreen keyboard
|
||||
* (e.g for a calculator that already has all the keys).
|
||||
- * @IBUS_INPUT_HINT_VERTICAL_WRITING: The text is vertical.
|
||||
+ * @IBUS_INPUT_HINT_VERTICAL_WRITING: The text is vertical. Since 1.5.11
|
||||
+ * @IBUS_INPUT_HINT_EMOJI: Suggest offering Emoji support. Since 1.5.24
|
||||
+ * @IBUS_INPUT_HINT_NO_EMOJI: Suggest not offering Emoji support. Since 1.5.24
|
||||
*
|
||||
* Describes hints that might be taken into account by engines. Note
|
||||
* that engines may already tailor their behaviour according to the
|
||||
* #IBusInputPurpose of the entry.
|
||||
+ *
|
||||
+ * Some common sense is expected when using these flags - mixing
|
||||
+ * @IBUS_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense.
|
||||
+ *
|
||||
+ * This enumeration may be extended in the future; engines should
|
||||
+ * ignore unknown values.
|
||||
+ *
|
||||
+ * Since: 1.5.4
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
- IBUS_INPUT_HINT_NONE = 0,
|
||||
- IBUS_INPUT_HINT_SPELLCHECK = 1 << 0,
|
||||
- IBUS_INPUT_HINT_NO_SPELLCHECK = 1 << 1,
|
||||
- IBUS_INPUT_HINT_WORD_COMPLETION = 1 << 2,
|
||||
- IBUS_INPUT_HINT_LOWERCASE = 1 << 3,
|
||||
- IBUS_INPUT_HINT_UPPERCASE_CHARS = 1 << 4,
|
||||
- IBUS_INPUT_HINT_UPPERCASE_WORDS = 1 << 5,
|
||||
- IBUS_INPUT_HINT_UPPERCASE_SENTENCES = 1 << 6,
|
||||
- IBUS_INPUT_HINT_INHIBIT_OSK = 1 << 7,
|
||||
- IBUS_INPUT_HINT_VERTICAL_WRITING = 1 << 8
|
||||
+ IBUS_INPUT_HINT_NONE = 0,
|
||||
+ IBUS_INPUT_HINT_SPELLCHECK = 1 << 0,
|
||||
+ IBUS_INPUT_HINT_NO_SPELLCHECK = 1 << 1,
|
||||
+ IBUS_INPUT_HINT_WORD_COMPLETION = 1 << 2,
|
||||
+ IBUS_INPUT_HINT_LOWERCASE = 1 << 3,
|
||||
+ IBUS_INPUT_HINT_UPPERCASE_CHARS = 1 << 4,
|
||||
+ IBUS_INPUT_HINT_UPPERCASE_WORDS = 1 << 5,
|
||||
+ IBUS_INPUT_HINT_UPPERCASE_SENTENCES = 1 << 6,
|
||||
+ IBUS_INPUT_HINT_INHIBIT_OSK = 1 << 7,
|
||||
+ IBUS_INPUT_HINT_VERTICAL_WRITING = 1 << 8,
|
||||
+ IBUS_INPUT_HINT_EMOJI = 1 << 9,
|
||||
+ IBUS_INPUT_HINT_NO_EMOJI = 1 << 10
|
||||
} IBusInputHints;
|
||||
|
||||
#endif
|
||||
Binary file not shown.
BIN
ibus-1.5.23.tar.gz
Normal file
BIN
ibus-1.5.23.tar.gz
Normal file
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
From 023d50db40912e4f7ee333543e05995a9c730bae Mon Sep 17 00:00:00 2001
|
||||
From 41c325dfb32269c9aadfeedb4df44656aac4d883 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Fri, 15 May 2020 21:44:16 +0900
|
||||
Date: Fri, 20 Nov 2020 09:53:54 +0900
|
||||
Subject: [PATCH] Fix SEGV in bus_panel_proxy_focus_in()
|
||||
|
||||
rhbz#1350291 SEGV in BUS_IS_CONNECTION(skip_connection) in
|
||||
@ -280,12 +280,12 @@ index b7ffbb47..668c8a26 100644
|
||||
bus->priv->monitor = NULL;
|
||||
}
|
||||
diff --git a/ui/gtk3/extension.vala b/ui/gtk3/extension.vala
|
||||
index ea3cd464..57ed1357 100644
|
||||
index a6f2e8e6..b7a04081 100644
|
||||
--- a/ui/gtk3/extension.vala
|
||||
+++ b/ui/gtk3/extension.vala
|
||||
@@ -73,6 +73,10 @@ class ExtensionGtk : Gtk.Application {
|
||||
string signal_name,
|
||||
Variant parameters) {
|
||||
string signal_name,
|
||||
Variant parameters) {
|
||||
debug("signal_name = %s", signal_name);
|
||||
+ /* rhbz#1797120 Fix assert(bus.is_connected()) in
|
||||
+ * panel_binding_construct()
|
||||
|
||||
912
ibus-HEAD.patch
912
ibus-HEAD.patch
@ -1,599 +1,423 @@
|
||||
From 7b0d091839a4f1315ba216175fb2787e86f7fa31 Mon Sep 17 00:00:00 2001
|
||||
From dd4cc5b028c35f9bb8fa9d3bdc8f26bcdfc43d40 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Tue, 3 Mar 2020 17:08:30 +0900
|
||||
Subject: [PATCH] src/tests: Delete graves in substitution in
|
||||
ibus-desktop-testing-runner
|
||||
Date: Wed, 30 Sep 2020 20:35:23 +0900
|
||||
Subject: [PATCH] ui/gtk3: Fix arguments in GLib.DBusSignalCallback for Vala
|
||||
0.50
|
||||
|
||||
Delete the single quotations to enclose grave chracters because
|
||||
DASH saves the single quoted '`id -u`' as the raw string in the command
|
||||
substitution not to be extracted.
|
||||
|
||||
BUG=https://github.com/ibus/ibus/issues/2189
|
||||
BUG=https://github.com/ibus/ibus/issues/2265
|
||||
---
|
||||
src/tests/ibus-desktop-testing-runner.in | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
ui/gtk3/application.vala | 22 +++++++++++-----------
|
||||
ui/gtk3/extension.vala | 22 +++++++++++-----------
|
||||
2 files changed, 22 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
|
||||
index 0d9a847c..f9238e69 100755
|
||||
--- a/src/tests/ibus-desktop-testing-runner.in
|
||||
+++ b/src/tests/ibus-desktop-testing-runner.in
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
# ibus - The Input Bus
|
||||
#
|
||||
-# Copyright (c) 2018-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+# Copyright (c) 2018-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
# Copyright (c) 2018 Red Hat, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@@ -31,7 +31,8 @@
|
||||
# POSIX sh has no 'echo -e'
|
||||
: ${ECHO:='/usr/bin/echo'}
|
||||
# POSIX sh has $UID
|
||||
-: ${UID:='`id -u`'}
|
||||
+# DASH saves the graves in '``' as characters not to be extracted
|
||||
+: ${UID:=`id -u`}
|
||||
|
||||
|
||||
PROGNAME=`basename $0`
|
||||
@@ -170,7 +171,7 @@ _EOF
|
||||
run_dbus_daemon()
|
||||
{
|
||||
# Use dbus-launch --exit-with-session later instead of --sh-syntax
|
||||
- export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus
|
||||
+ export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus"
|
||||
}
|
||||
|
||||
run_desktop()
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 8ce25208c3f4adfd290a032c6aa739d2b7580eb1 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Thu, 12 Mar 2020 16:02:16 +0900
|
||||
Subject: [PATCH] src: Use WAYLAND_DISPLAY on Wayland sessions to make up
|
||||
IBus socket name
|
||||
|
||||
In Wayland sessions, GNOME Shell 3.36 is leveraging 2 X11 Display
|
||||
connections so one is used to set up all services for a "X11 session"
|
||||
before user applications connected to the other display might require it.
|
||||
This allows seamlessly starting Xwayland on demand to X11 user applications.
|
||||
|
||||
IBus here belongs to the first described connection, it is started
|
||||
explicitly on that display by GNOME Shell as it is necessary to set up
|
||||
ibus-x11 before any other X11 client might want to use it.
|
||||
|
||||
However the use of this "secondary" display results in IBus daemon left
|
||||
unable to talk to applications, as the socket name is dependent on the
|
||||
DISPLAY envvar and ibus/applications don't agree on its content.
|
||||
|
||||
For wayland sessions, make it look for WAYLAND_DISPLAY, as that'll have
|
||||
the similar "per session bus" behavior that this seems to look after.
|
||||
|
||||
BUG=https://gitlab.gnome.org/GNOME/gnome-shell/issues/2341
|
||||
---
|
||||
src/ibusshare.c | 11 +++++++++--
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/ibusshare.c b/src/ibusshare.c
|
||||
index 0d50d3f5..e0ef2ce0 100644
|
||||
--- a/src/ibusshare.c
|
||||
+++ b/src/ibusshare.c
|
||||
@@ -100,6 +100,7 @@ ibus_get_socket_path (void)
|
||||
gchar *display;
|
||||
gchar *displaynumber = "0";
|
||||
/* gchar *screennumber = "0"; */
|
||||
+ gboolean is_wayland = FALSE;
|
||||
gchar *p;
|
||||
|
||||
path = g_strdup (g_getenv ("IBUS_ADDRESS_FILE"));
|
||||
@@ -108,13 +109,19 @@ ibus_get_socket_path (void)
|
||||
}
|
||||
|
||||
if (_display == NULL) {
|
||||
- display = g_strdup (g_getenv ("DISPLAY"));
|
||||
+ display = g_strdup (g_getenv ("WAYLAND_DISPLAY"));
|
||||
+ if (display)
|
||||
+ is_wayland = TRUE;
|
||||
+ else
|
||||
+ display = g_strdup (g_getenv ("DISPLAY"));
|
||||
}
|
||||
else {
|
||||
display = g_strdup (_display);
|
||||
}
|
||||
|
||||
- if (display) {
|
||||
+ if (is_wayland) {
|
||||
+ displaynumber = display;
|
||||
+ } else if (display) {
|
||||
p = display;
|
||||
hostname = display;
|
||||
for (; *p != ':' && *p != '\0'; p++);
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 5765bfd69fb2ab1174378fbb0d8cac7f2bd2610f Mon Sep 17 00:00:00 2001
|
||||
From: Changwoo Ryu <cwryu@debian.org>
|
||||
Date: Wed, 15 Apr 2020 17:43:14 +0900
|
||||
Subject: [PATCH] client/gtk2: Remove glib_check_version() in gtk immodule
|
||||
|
||||
In the gtk2/gtk3 immodule, glib_check_version() is being used to make sure
|
||||
that the installed glib version is not older than the glib version which ibus
|
||||
is built with.
|
||||
|
||||
But there is no reason why glib version is checked in runtime. Library
|
||||
compatibility is already being checked more precisely by packaging systems and
|
||||
linkers.
|
||||
|
||||
This version check can break the ibus gtk immodule when used with an older but
|
||||
compatible version of glib, such as glib 2.62.x which is compatible with
|
||||
2.64.x.
|
||||
|
||||
BUG=https://github.com/ibus/ibus/issues/2200
|
||||
---
|
||||
client/gtk2/ibusim.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/client/gtk2/ibusim.c b/client/gtk2/ibusim.c
|
||||
index bfacd0f0..d70800d3 100644
|
||||
--- a/client/gtk2/ibusim.c
|
||||
+++ b/client/gtk2/ibusim.c
|
||||
@@ -41,9 +41,7 @@ static const GtkIMContextInfo *info_list[] = {
|
||||
G_MODULE_EXPORT const gchar*
|
||||
g_module_check_init (GModule *module)
|
||||
{
|
||||
- return glib_check_version (GLIB_MAJOR_VERSION,
|
||||
- GLIB_MINOR_VERSION,
|
||||
- 0);
|
||||
+ return null;
|
||||
}
|
||||
|
||||
G_MODULE_EXPORT void
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 8da016764cee9616cca4658d1fb311d6b3bfc0df Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Wed, 15 Apr 2020 17:55:03 +0900
|
||||
Subject: [PATCH] src/tests: Fix to get focus events with su in
|
||||
ibus-desktop-testing-runner
|
||||
|
||||
GtkWindow haven't received focus events in any test cases since Fedora 31
|
||||
whenever Ansible runs ibus-desktop-testing-runner after `su root`.
|
||||
Seems su command does not run systemd automatically and now systemd
|
||||
requires XDG_RUNTIME_DIR and Ansible requires root access with ssh.
|
||||
This fix requires to restart sshd with modified /etc/ssh/sshd_config
|
||||
with "PermitRootLogin yes" in order to run with su command.
|
||||
|
||||
Ansible with ibus-desktop-testin-runner has worked fine if root console
|
||||
login is used without this patch because PAM runs systemd by login.
|
||||
---
|
||||
src/tests/ibus-desktop-testing-runner.in | 36 ++++++++++++++++++++++--
|
||||
1 file changed, 33 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
|
||||
index f9238e69..f760fd5b 100755
|
||||
--- a/src/tests/ibus-desktop-testing-runner.in
|
||||
+++ b/src/tests/ibus-desktop-testing-runner.in
|
||||
@@ -49,6 +49,7 @@ PID_XORG=0
|
||||
PID_GNOME_SESSION=0
|
||||
TESTING_RUNNER="default"
|
||||
TESTS=""
|
||||
+TIMEOUT=300
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
NC='\033[0m'
|
||||
@@ -84,6 +85,7 @@ usage()
|
||||
"-r, --runner=RUNNER Run TESTS programs with a test RUNNER.\n" \
|
||||
" RUNNDER = gnome or default.\n" \
|
||||
" default is an embedded runner.\n" \
|
||||
+"-T, --timeout=TIMEOUT Set timeout (default TIMEOUT is 300 sec).\n" \
|
||||
"-o, --output=OUTPUT_FILE OUtput the log to OUTPUT_FILE\n" \
|
||||
"-O, --result=RESULT_FILE OUtput the result to RESULT_FILE\n" \
|
||||
""
|
||||
@@ -92,8 +94,8 @@ usage()
|
||||
parse_args()
|
||||
{
|
||||
# This is GNU getopt. "sudo port getopt" in BSD?
|
||||
- ARGS=`getopt -o hvb:s:cd:t:r:o:O: --long \
|
||||
- help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,output:,result:\
|
||||
+ ARGS=`getopt -o hvb:s:cd:t:r:T:o:O: --long \
|
||||
+ help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,timeout:,output:,result:\
|
||||
-- "$@"`;
|
||||
eval set -- "$ARGS"
|
||||
while [ 1 ] ; do
|
||||
@@ -106,6 +108,7 @@ parse_args()
|
||||
-d | --desktop ) DESKTOP_COMMAND="$2"; shift 2;;
|
||||
-t | --tests ) TESTS="$2"; shift 2;;
|
||||
-r | --runner ) TESTING_RUNNER="$2"; shift 2;;
|
||||
+ -T | --timeout ) TIMEOUT="$2"; shift 2;;
|
||||
-o | --output ) TEST_LOG="$2"; shift 2;;
|
||||
-O | --result ) RESULT_LOG="$2"; shift 2;;
|
||||
-- ) shift; break;;
|
||||
@@ -166,11 +169,37 @@ _EOF
|
||||
fi
|
||||
# `su` command does not run loginctl
|
||||
export XDG_SESSION_TYPE='x11'
|
||||
+ export XDG_SESSION_CLASS=user
|
||||
+ # `su` command does not get focus in events without this variable.
|
||||
+ # Need to restart sshd after set "PermitRootLogin yes" in sshd_config
|
||||
+ if [ "x$XDG_RUNTIME_DIR" = x ] ; then
|
||||
+ export XDG_RUNTIME_DIR=/run/user/$UID
|
||||
+ is_root_login=`grep "^PermitRootLogin" /etc/ssh/sshd_config | grep yes`
|
||||
+ if [ "x$ANSIBLE" != x ] && [ "x$is_root_login" = x ] ; then
|
||||
+ print_log -e "${RED}FAIL${NC}: No permission to get focus-in events in GtkWindow with ansible"
|
||||
+ echo "su command does not configure necessary login info " \
|
||||
+ "with systemd and GtkWindow cannot receive focus-events " \
|
||||
+ "when ibus-desktop-testing-runner is executed by " \
|
||||
+ "ansible-playbook." >> $TEST_LOG
|
||||
+ echo "Enabling root login via sshd, restarting sshd, set " \
|
||||
+ "XDG_RUNTIME_DIR can resolve the problem under " \
|
||||
+ "ansible-playbook." >> $TEST_LOG
|
||||
+ exit 255
|
||||
+ fi
|
||||
+ fi
|
||||
+ # Do we need XDG_SESSION_ID and XDG_SEAT?
|
||||
+ #export XDG_CONFIG_DIRS=/etc/xdg
|
||||
+ #export XDG_SESSION_ID=10
|
||||
+ #export XDG_SESSION_DESKTOP=gnome
|
||||
+ #export XDG_SEAT=seat0
|
||||
}
|
||||
|
||||
run_dbus_daemon()
|
||||
{
|
||||
# Use dbus-launch --exit-with-session later instead of --sh-syntax
|
||||
+ # GNOME uses a unix:abstract address and it effects gsettings set values
|
||||
+ # in each test case.
|
||||
+ # TODO: Should we comment out this line?
|
||||
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$UID/bus"
|
||||
}
|
||||
|
||||
@@ -288,7 +317,8 @@ run_gnome_desktop_testing_runner()
|
||||
fail=1
|
||||
continue
|
||||
fi
|
||||
- gnome-desktop-testing-runner $tst 2>>$TEST_LOG 1>>$TEST_LOG
|
||||
+ gnome-desktop-testing-runner --timeout=$TIMEOUT $tst \
|
||||
+ 2>>$TEST_LOG 1>>$TEST_LOG
|
||||
retval=$?
|
||||
read pass fail << EOF
|
||||
`count_case_result $retval $pass $fail`
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 0b9d9365988a96a2bc31c48624f9c2b8081601b6 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Wed, 22 Apr 2020 20:17:12 +0900
|
||||
Subject: [PATCH] client/gtk2: Fix typo
|
||||
|
||||
---
|
||||
client/gtk2/ibusim.c | 4 ++--
|
||||
src/tests/ibus-desktop-testing-runner.in | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/client/gtk2/ibusim.c b/client/gtk2/ibusim.c
|
||||
index d70800d3..55609ce7 100644
|
||||
--- a/client/gtk2/ibusim.c
|
||||
+++ b/client/gtk2/ibusim.c
|
||||
@@ -2,7 +2,7 @@
|
||||
/* vim:set et ts=4: */
|
||||
/* ibus - The Input Bus
|
||||
* Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
|
||||
- * Copyright (C) 2008-2010 Red Hat, Inc.
|
||||
+ * Copyright (C) 2008-2020 Red Hat, Inc.
|
||||
diff --git a/ui/gtk3/application.vala b/ui/gtk3/application.vala
|
||||
index cc9ee54c..da65301b 100644
|
||||
--- a/ui/gtk3/application.vala
|
||||
+++ b/ui/gtk3/application.vala
|
||||
@@ -3,7 +3,7 @@
|
||||
* ibus - The Input Bus
|
||||
*
|
||||
* Copyright(c) 2011 Peng Huang <shawn.p.huang@gmail.com>
|
||||
- * Copyright(c) 2017 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+ * Copyright(c) 2017-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -41,7 +41,7 @@ static const GtkIMContextInfo *info_list[] = {
|
||||
G_MODULE_EXPORT const gchar*
|
||||
g_module_check_init (GModule *module)
|
||||
{
|
||||
- return null;
|
||||
+ return NULL;
|
||||
}
|
||||
@@ -69,22 +69,22 @@ class Application {
|
||||
}
|
||||
|
||||
G_MODULE_EXPORT void
|
||||
diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
|
||||
index f760fd5b..4232c549 100755
|
||||
--- a/src/tests/ibus-desktop-testing-runner.in
|
||||
+++ b/src/tests/ibus-desktop-testing-runner.in
|
||||
@@ -173,7 +173,7 @@ _EOF
|
||||
# `su` command does not get focus in events without this variable.
|
||||
# Need to restart sshd after set "PermitRootLogin yes" in sshd_config
|
||||
if [ "x$XDG_RUNTIME_DIR" = x ] ; then
|
||||
- export XDG_RUNTIME_DIR=/run/user/$UID
|
||||
+ export XDG_RUNTIME_DIR="/run/user/$UID"
|
||||
is_root_login=`grep "^PermitRootLogin" /etc/ssh/sshd_config | grep yes`
|
||||
if [ "x$ANSIBLE" != x ] && [ "x$is_root_login" = x ] ; then
|
||||
print_log -e "${RED}FAIL${NC}: No permission to get focus-in events in GtkWindow with ansible"
|
||||
private void bus_name_acquired_cb(DBusConnection connection,
|
||||
- string sender_name,
|
||||
- string object_path,
|
||||
- string interface_name,
|
||||
- string signal_name,
|
||||
- Variant parameters) {
|
||||
+ string? sender_name,
|
||||
+ string object_path,
|
||||
+ string interface_name,
|
||||
+ string signal_name,
|
||||
+ Variant parameters) {
|
||||
debug("signal_name = %s", signal_name);
|
||||
m_panel = new Panel(m_bus);
|
||||
m_panel.load_settings();
|
||||
}
|
||||
|
||||
private void bus_name_lost_cb(DBusConnection connection,
|
||||
- string sender_name,
|
||||
- string object_path,
|
||||
- string interface_name,
|
||||
- string signal_name,
|
||||
- Variant parameters) {
|
||||
+ string? sender_name,
|
||||
+ string object_path,
|
||||
+ string interface_name,
|
||||
+ string signal_name,
|
||||
+ Variant parameters) {
|
||||
// "Destroy" dbus method was called before this callback is called.
|
||||
// "Destroy" dbus method -> ibus_service_destroy()
|
||||
// -> g_dbus_connection_unregister_object()
|
||||
diff --git a/ui/gtk3/extension.vala b/ui/gtk3/extension.vala
|
||||
index ea3cd464..a6f2e8e6 100644
|
||||
--- a/ui/gtk3/extension.vala
|
||||
+++ b/ui/gtk3/extension.vala
|
||||
@@ -3,7 +3,7 @@
|
||||
* ibus - The Input Bus
|
||||
*
|
||||
* Copyright(c) 2018 Peng Huang <shawn.p.huang@gmail.com>
|
||||
- * Copyright(c) 2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+ * Copyright(c) 2018-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -67,22 +67,22 @@ class ExtensionGtk : Gtk.Application {
|
||||
|
||||
|
||||
private void bus_name_acquired_cb(DBusConnection connection,
|
||||
- string sender_name,
|
||||
- string object_path,
|
||||
- string interface_name,
|
||||
- string signal_name,
|
||||
- Variant parameters) {
|
||||
+ string? sender_name,
|
||||
+ string object_path,
|
||||
+ string interface_name,
|
||||
+ string signal_name,
|
||||
+ Variant parameters) {
|
||||
debug("signal_name = %s", signal_name);
|
||||
m_panel = new PanelBinding(m_bus, this);
|
||||
m_panel.load_settings();
|
||||
}
|
||||
|
||||
private void bus_name_lost_cb(DBusConnection connection,
|
||||
- string sender_name,
|
||||
- string object_path,
|
||||
- string interface_name,
|
||||
- string signal_name,
|
||||
- Variant parameters) {
|
||||
+ string? sender_name,
|
||||
+ string object_path,
|
||||
+ string interface_name,
|
||||
+ string signal_name,
|
||||
+ Variant parameters) {
|
||||
// "Destroy" dbus method was called before this callback is called.
|
||||
// "Destroy" dbus method -> ibus_service_destroy()
|
||||
// -> g_dbus_connection_unregister_object()
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From 8c4125bc78ce3502b5aeb053e7029cc2594f83f2 Mon Sep 17 00:00:00 2001
|
||||
From: Changwoo Ryu <cwryu@debian.org>
|
||||
Date: Sun, 12 Apr 2020 05:28:15 +0900
|
||||
Subject: [PATCH] src: Build the Emoji dictionaries in parallel
|
||||
From 02338ce751a1ed5b9b892fba530ec2fe211d314e Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Fri, 20 Nov 2020 08:58:52 +0900
|
||||
Subject: [PATCH] docs: Fix make dist
|
||||
|
||||
Instead of building Emoji dictionaries src/dicts/emoji-*.dict in sequence, a
|
||||
pattern rule is specified for them. The make -jN option builds the
|
||||
dictionaries in parallel.
|
||||
|
||||
The GNU make extensions like pattern rule and patsubst function are used for
|
||||
it. But src/Makefile.am has had other GNU make extensions for a while, so
|
||||
using more extensions should not make portability worse.
|
||||
|
||||
BUG=https://github.com/ibus/ibus/pull/2209
|
||||
---
|
||||
src/Makefile.am | 55 ++++++++++++++++++++++++-------------------------
|
||||
1 file changed, 27 insertions(+), 28 deletions(-)
|
||||
docs/reference/ibus/Makefile.am | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/docs/reference/ibus/Makefile.am b/docs/reference/ibus/Makefile.am
|
||||
index 1ece234c..0f307bbd 100644
|
||||
--- a/docs/reference/ibus/Makefile.am
|
||||
+++ b/docs/reference/ibus/Makefile.am
|
||||
@@ -3,8 +3,8 @@
|
||||
# ibus - The Input Bus
|
||||
#
|
||||
# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
|
||||
-# Copyright (c) 2007-2015 Red Hat, Inc.
|
||||
-# Copyright (c) 2015 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+# Copyright (c) 2007-2020 Red Hat, Inc.
|
||||
+# Copyright (c) 2015-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
@@ -147,6 +147,6 @@ tmpl-build.stamp: trim-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DO
|
||||
# clean-local:
|
||||
# rm -rf tmpl ${DOC_MODULE)
|
||||
|
||||
-CLEANFILES+= *.stamp
|
||||
+CLEANFILES+= *actions *.stamp
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From aa558de80c224921753990806cf553428fbe7057 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Fri, 20 Nov 2020 09:03:32 +0900
|
||||
Subject: [PATCH] src: Fix to build emoji-*.dict in CLDR 38
|
||||
|
||||
root.xml and sr_Cyrl.xml have included no contents since
|
||||
cldr-emoji-annotation-38 and make install failed because of no
|
||||
emoji-root.dict and emoji-sr.Cyrl.dict.
|
||||
Now the build creates the no content files but remove those files
|
||||
in the install hook.
|
||||
|
||||
BUG=rhbz#1898065
|
||||
---
|
||||
src/Makefile.am | 61 ++++++++++++++++++++++------------------------
|
||||
src/emoji-parser.c | 4 ++-
|
||||
2 files changed, 32 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index a8e3d07d..99de1ab7 100644
|
||||
index 99de1ab7..742ee7d7 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -246,42 +246,41 @@ if ENABLE_EMOJI_DICT
|
||||
AM_CPPFLAGS += -DENABLE_EMOJI_DICT
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# ibus - The Input Bus
|
||||
#
|
||||
# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
|
||||
-# Copyright (c) 2015-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+# Copyright (c) 2015-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
# Copyright (c) 2007-2017 Red Hat, Inc.
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
@@ -248,6 +248,7 @@ AM_CPPFLAGS += -DENABLE_EMOJI_DICT
|
||||
dictdir = $(pkgdatadir)/dicts
|
||||
-dict_DATA = dicts/emoji-en.dict
|
||||
LANG_FILES = $(basename $(notdir $(wildcard $(EMOJI_ANNOTATION_DIR)/*.xml)))
|
||||
+EMOJI_DICT_FILES = $(patsubst %,dicts/emoji-%.dict,$(LANG_FILES))
|
||||
+dict_DATA = $(EMOJI_DICT_FILES)
|
||||
EMOJI_DICT_FILES = $(patsubst %,dicts/emoji-%.dict,$(LANG_FILES))
|
||||
+# emoji-root.dict, emoji-sr_Cyrl.dict have no contents.
|
||||
dict_DATA = $(EMOJI_DICT_FILES)
|
||||
|
||||
noinst_PROGRAMS += emoji-parser
|
||||
|
||||
-dicts/emoji-en.dict: emoji-parser
|
||||
+dicts/emoji-%.dict: emoji-parser
|
||||
$(AM_V_at)if test x"$(LANG_FILES)" = x ; then \
|
||||
echo "WARNING: Not found $(EMOJI_ANNOTATION_DIR)/en.xml" 1>&2; \
|
||||
fi; \
|
||||
- for f in $(LANG_FILES) ; do \
|
||||
- if test -f dicts/emoji-$$f.dict; then \
|
||||
- echo "Already exists dicts/emoji-$$f.dict"; \
|
||||
- continue; \
|
||||
- fi; \
|
||||
- if test -f \
|
||||
- "$(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$$f.xml" ; then \
|
||||
- xml_derived_option="--xml-derived $(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$$f.xml"; \
|
||||
+ if test -f $@; then \
|
||||
+ echo "Already exists $@"; \
|
||||
+ exit 0; \
|
||||
+ fi; \
|
||||
+ if test -f \
|
||||
+ "$(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$*.xml" ; then \
|
||||
+ xml_derived_option="--xml-derived $(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$*.xml"; \
|
||||
@@ -265,6 +266,7 @@ dicts/emoji-%.dict: emoji-parser
|
||||
xml_derived_option="--xml-derived $(EMOJI_ANNOTATION_DIR)/../annotationsDerived/$*.xml"; \
|
||||
plus_comment="derived"; \
|
||||
- fi; \
|
||||
- if test x"$$f" = xen ; then \
|
||||
- $(builddir)/emoji-parser \
|
||||
- --unicode-emoji-dir $(UNICODE_EMOJI_DIR) \
|
||||
- --xml $(EMOJI_ANNOTATION_DIR)/$$f.xml \
|
||||
- $$xml_derived_option \
|
||||
- --xml-ascii $(top_srcdir)/data/annotations/en_ascii.xml \
|
||||
- --out-category ibusemojigen.h \
|
||||
- --out $@; \
|
||||
- else \
|
||||
- $(builddir)/emoji-parser \
|
||||
- --unicode-emoji-dir $(UNICODE_EMOJI_DIR) \
|
||||
- --xml $(EMOJI_ANNOTATION_DIR)/$$f.xml \
|
||||
- $$xml_derived_option \
|
||||
- --out dicts/emoji-$$f.dict; \
|
||||
- fi; \
|
||||
- echo "Generated $$plus_comment dicts/emoji-$$f.dict"; \
|
||||
- done
|
||||
+ fi; \
|
||||
+ if test x"$*" = xen ; then \
|
||||
+ $(builddir)/emoji-parser \
|
||||
+ --unicode-emoji-dir $(UNICODE_EMOJI_DIR) \
|
||||
+ --xml $(EMOJI_ANNOTATION_DIR)/$*.xml \
|
||||
+ $$xml_derived_option \
|
||||
+ --xml-ascii $(top_srcdir)/data/annotations/en_ascii.xml \
|
||||
+ --out-category ibusemojigen.h \
|
||||
+ --out $@; \
|
||||
fi; \
|
||||
+ is_skip=0; \
|
||||
if test x"$*" = xen ; then \
|
||||
$(builddir)/emoji-parser \
|
||||
--unicode-emoji-dir $(UNICODE_EMOJI_DIR) \
|
||||
@@ -279,48 +281,43 @@ dicts/emoji-%.dict: emoji-parser
|
||||
--xml $(EMOJI_ANNOTATION_DIR)/$*.xml \
|
||||
$$xml_derived_option \
|
||||
--out $@; \
|
||||
+ retval=$$?; \
|
||||
+ if test $$retval -eq 99 ; then \
|
||||
+ is_skip=1; \
|
||||
+ touch $@; \
|
||||
+ elif test $$retval -ne 0 ; then \
|
||||
+ echo "Fail to generate $@"; \
|
||||
+ abrt; \
|
||||
+ fi; \
|
||||
fi; \
|
||||
- echo "Generated $$plus_comment $@"
|
||||
+ if test $$is_skip -eq 0 ; then \
|
||||
+ echo "Generated $$plus_comment $@"; \
|
||||
+ else \
|
||||
+ $(builddir)/emoji-parser \
|
||||
+ --unicode-emoji-dir $(UNICODE_EMOJI_DIR) \
|
||||
+ --xml $(EMOJI_ANNOTATION_DIR)/$*.xml \
|
||||
+ $$xml_derived_option \
|
||||
+ --out $@; \
|
||||
+ fi; \
|
||||
+ echo "Generated $$plus_comment $@"
|
||||
+ echo "Skip $$plus_comment $@"; \
|
||||
+ fi;
|
||||
|
||||
ibusemojigen.h: dicts/emoji-en.dict
|
||||
$(NULL)
|
||||
--
|
||||
2.23.0.rc1
|
||||
|
||||
From 02105c4d486283e6b561181d9c934d4d23f2d65e Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Thu, 14 May 2020 15:48:34 +0900
|
||||
Subject: [PATCH] bus: Fix SEGV in bus_panel_proxy_focus_in()
|
||||
-install-data-hook: $(dict_DATA)
|
||||
- @$(NORMAL_INSTALL)
|
||||
+# We put dicts/emoji-%.dict as the make target for the parallel build
|
||||
+# and the make target has to be genarated even if the file size is zero.
|
||||
+# But we don't want to install the zero size files and delete them
|
||||
+# in install-data-hook.
|
||||
+install-data-hook:
|
||||
$(AM_V_at)list='$(wildcard dicts/*.dict)'; \
|
||||
test -n "$(dictdir)" || list=; \
|
||||
- if test -n "$$list"; then \
|
||||
- echo " $(MKDIR_P) '$(DESTDIR)$(dictdir)'"; \
|
||||
- $(MKDIR_P) "$(DESTDIR)$(dictdir)" || exit 1; \
|
||||
- fi; \
|
||||
for p in $$list; do \
|
||||
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
- echo "$$d$$p"; \
|
||||
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
+ if test -s "$$d$$p"; then continue; fi; \
|
||||
+ basename "$$p"; \
|
||||
done | \
|
||||
- while read files; do \
|
||||
- if [ x$(AM_DEFAULT_VERBOSITY) = x1 ] ; then \
|
||||
- echo "$(INSTALL_DATA) $$files '$(DESTDIR)$(dictdir)'"; \
|
||||
- else \
|
||||
- echo "Installing $$files"; \
|
||||
- fi; \
|
||||
- $(INSTALL_DATA) $$files "$(DESTDIR)$(dictdir)" || exit $$?; \
|
||||
+ while read file; do \
|
||||
+ if test -f "$(DESTDIR)$(dictdir)/$$file"; then \
|
||||
+ echo "Delete $(DESTDIR)$(dictdir)/$$file"; \
|
||||
+ rm "$(DESTDIR)$(dictdir)/$$file" || exit $$?; \
|
||||
+ fi; \
|
||||
done
|
||||
|
||||
SEGV in BUS_IS_PANEL_PROXY() in bus_panel_proxy_focus_in()
|
||||
Check if GDBusConnect is closed before bus_panel_proxy_new() is called.
|
||||
|
||||
BUG=rhbz#1349148
|
||||
BUG=rhbz#1385349
|
||||
---
|
||||
bus/ibusimpl.c | 25 ++++++++++++++++++++-----
|
||||
1 file changed, 20 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
|
||||
index 85761d30..e432e849 100644
|
||||
--- a/bus/ibusimpl.c
|
||||
+++ b/bus/ibusimpl.c
|
||||
@@ -2,8 +2,8 @@
|
||||
-dict__uninstall_files_from_dir = { \
|
||||
- test -z "$$files" \
|
||||
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
- cd "$$dir" && rm -f $$files; }; \
|
||||
- }
|
||||
-
|
||||
-# for make dist
|
||||
-uninstall-hook:
|
||||
- @$(NORMAL_UNINSTALL)
|
||||
- $(AM_V_at)list='$(wildcard dicts/*.dict)'; \
|
||||
- test -n "$(dictdir)" || list=; \
|
||||
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
- dir='$(DESTDIR)$(dictdir)'; $(dict__uninstall_files_from_dir)
|
||||
-
|
||||
emoji_parser_SOURCES = \
|
||||
emoji-parser.c \
|
||||
$(NULL)
|
||||
diff --git a/src/emoji-parser.c b/src/emoji-parser.c
|
||||
index 96a779c6..b117b1b4 100644
|
||||
--- a/src/emoji-parser.c
|
||||
+++ b/src/emoji-parser.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
|
||||
/* vim:set et sts=4: */
|
||||
/* ibus - The Input Bus
|
||||
* Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
|
||||
- * Copyright (C) 2011-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
- * Copyright (C) 2008-2019 Red Hat, Inc.
|
||||
+ * Copyright (C) 2011-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+ * Copyright (C) 2008-2020 Red Hat, Inc.
|
||||
- * Copyright (C) 2016-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
+ * Copyright (C) 2016-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
* Copyright (C) 2016 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
|
||||
@@ -464,13 +464,16 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||
else if (!g_strcmp0 (name, IBUS_SERVICE_PANEL_EXTENSION_EMOJI))
|
||||
panel_type = PANEL_TYPE_EXTENSION_EMOJI;
|
||||
@@ -1294,6 +1294,8 @@ main (int argc, char *argv[])
|
||||
category_file_save (output_category, list);
|
||||
if (list)
|
||||
g_slist_free (list);
|
||||
+ else
|
||||
+ return 99;
|
||||
|
||||
- if (panel_type != PANEL_TYPE_NONE) {
|
||||
+ do {
|
||||
+ if (panel_type == PANEL_TYPE_NONE)
|
||||
+ break;
|
||||
if (g_strcmp0 (new_name, "") != 0) {
|
||||
/* a Panel process is started. */
|
||||
BusConnection *connection;
|
||||
BusInputContext *context = NULL;
|
||||
BusPanelProxy **panel = (panel_type == PANEL_TYPE_PANEL) ?
|
||||
&ibus->panel : &ibus->emoji_extension;
|
||||
+ GDBusConnection *dbus_connection = NULL;
|
||||
|
||||
if (*panel != NULL) {
|
||||
ibus_proxy_destroy ((IBusProxy *)(*panel));
|
||||
@@ -479,9 +482,21 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||
g_assert (*panel == NULL);
|
||||
}
|
||||
|
||||
- connection = bus_dbus_impl_get_connection_by_name (BUS_DEFAULT_DBUS, new_name);
|
||||
+ connection = bus_dbus_impl_get_connection_by_name (BUS_DEFAULT_DBUS,
|
||||
+ new_name);
|
||||
g_return_if_fail (connection != NULL);
|
||||
|
||||
+ dbus_connection = bus_connection_get_dbus_connection (connection);
|
||||
+ /* rhbz#1349148 rhbz#1385349
|
||||
+ * Avoid SEGV of BUS_IS_PANEL_PROXY (ibus->panel)
|
||||
+ * This function is called during destroying the connection
|
||||
+ * in this case? */
|
||||
+ if (dbus_connection == NULL ||
|
||||
+ g_dbus_connection_is_closed (dbus_connection)) {
|
||||
+ new_name = "";
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
*panel = bus_panel_proxy_new (connection, panel_type);
|
||||
if (panel_type == PANEL_TYPE_EXTENSION_EMOJI)
|
||||
ibus->enable_emoji_extension = FALSE;
|
||||
@@ -535,7 +550,7 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus,
|
||||
}
|
||||
}
|
||||
}
|
||||
- }
|
||||
+ } while (0);
|
||||
|
||||
bus_ibus_impl_component_name_owner_changed (ibus, name, old_name, new_name);
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.24.1
|
||||
|
||||
From f591381e3c892947ecaffe9131b9039ab9014498 Mon Sep 17 00:00:00 2001
|
||||
From b72efea42d5f72e08e2774ae03027c246d41cab7 Mon Sep 17 00:00:00 2001
|
||||
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||
Date: Thu, 14 May 2020 16:02:00 +0900
|
||||
Subject: [PATCH] bus: Fix SEGV in bus_dbus_impl_name_owner_changed()
|
||||
Date: Fri, 20 Nov 2020 10:56:11 +0900
|
||||
Subject: [PATCH] src: Update IBusInputPurpose and IBusInputHints in
|
||||
ibustypes.h
|
||||
|
||||
rhbz#1406699 SEGV in new_owner!=NULL in bus_dbus_impl_name_owner_changed()
|
||||
which is called by bus_name_service_remove_owner()
|
||||
If bus_connection_get_unique_name()==NULL, set new_owner="" in
|
||||
bus_name_service_remove_owner()
|
||||
|
||||
rhbz#1432252 SEGV in old_owner!=NULL in bus_dbus_impl_name_owner_changed()
|
||||
which is called by bus_name_service_set_primary_owner()
|
||||
If bus_connection_get_unique_name()==NULL, set old_owner="" in
|
||||
bus_name_service_set_primary_owner()
|
||||
|
||||
BUG=rhbz#1406699
|
||||
BUG=rhbz#1432252
|
||||
Copy IBUS_INPUT_PURPOSE_TERMINAL, IBUS_INPUT_PURPOSE_PIN,
|
||||
IBUS_INPUT_PURPOSE_TERMINAL from GTK 3.24.14
|
||||
---
|
||||
bus/dbusimpl.c | 27 +++++++++++++++++++++++----
|
||||
1 file changed, 23 insertions(+), 4 deletions(-)
|
||||
src/ibustypes.h | 77 ++++++++++++++++++++++++++++++++++---------------
|
||||
1 file changed, 53 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c
|
||||
index b54ef817..59787a80 100644
|
||||
--- a/bus/dbusimpl.c
|
||||
+++ b/bus/dbusimpl.c
|
||||
@@ -2,7 +2,8 @@
|
||||
diff --git a/src/ibustypes.h b/src/ibustypes.h
|
||||
index 06370a27..798ad04d 100644
|
||||
--- a/src/ibustypes.h
|
||||
+++ b/src/ibustypes.h
|
||||
@@ -2,7 +2,7 @@
|
||||
/* vim:set et sts=4: */
|
||||
/* ibus - The Input Bus
|
||||
* Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
|
||||
- * Copyright (C) 2008-2013 Red Hat, Inc.
|
||||
+ * Copyright (C) 2015-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
|
||||
- * Copyright (C) 2008-2015 Red Hat, Inc.
|
||||
+ * Copyright (C) 2008-2020 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
|
||||
@@ -344,6 +345,8 @@ bus_name_service_set_primary_owner (BusNameService *service,
|
||||
BusConnectionOwner *owner,
|
||||
BusDBusImpl *dbus)
|
||||
@@ -241,29 +241,46 @@ typedef void (* IBusFreeFunc) (gpointer object);
|
||||
* @IBUS_INPUT_PURPOSE_EMAIL: Edited field expects email address
|
||||
* @IBUS_INPUT_PURPOSE_NAME: Edited field expects the name of a person
|
||||
* @IBUS_INPUT_PURPOSE_PASSWORD: Like @IBUS_INPUT_PURPOSE_FREE_FORM,
|
||||
- * but characters are hidden
|
||||
+ * but characters are hidden
|
||||
* @IBUS_INPUT_PURPOSE_PIN: Like @IBUS_INPUT_PURPOSE_DIGITS, but
|
||||
- * characters are hidden
|
||||
+ * characters are hidden
|
||||
+ * @IBUS_INPUT_PURPOSE_TERMINAL: Allow any character, in addition to control
|
||||
+ * codes. Since 1.5.24
|
||||
*
|
||||
* Describes primary purpose of the input context. This information
|
||||
* is particularly useful to implement intelligent behavior in
|
||||
* engines, such as automatic input-mode switch and text prediction.
|
||||
*
|
||||
+ * Note that the purpose is not meant to impose a totally strict rule
|
||||
+ * about allowed characters, and does not replace input validation.
|
||||
+ * It is fine for an on-screen keyboard to let the user override the
|
||||
+ * character set restriction that is expressed by the purpose. The
|
||||
+ * application is expected to validate the entry contents, even if
|
||||
+ * it specified a purpose.
|
||||
+ *
|
||||
+ * The difference between @IBUS_INPUT_PURPOSE_DIGITS and
|
||||
+ * @IBUS_INPUT_PURPOSE_NUMBER is that the former accepts only digits
|
||||
+ * while the latter also some punctuation (like commas or points, plus,
|
||||
+ * minus) and “e” or “E” as in 3.14E+000.
|
||||
+ *
|
||||
* This enumeration may be extended in the future; engines should
|
||||
* interpret unknown values as 'free form'.
|
||||
+ *
|
||||
+ * Since: 1.5.4
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
+ gboolean has_old_owner = FALSE;
|
||||
+
|
||||
g_assert (service != NULL);
|
||||
g_assert (owner != NULL);
|
||||
g_assert (dbus != NULL);
|
||||
@@ -351,6 +354,13 @@ bus_name_service_set_primary_owner (BusNameService *service,
|
||||
BusConnectionOwner *old = service->owners != NULL ?
|
||||
(BusConnectionOwner *)service->owners->data : NULL;
|
||||
- IBUS_INPUT_PURPOSE_FREE_FORM,
|
||||
- IBUS_INPUT_PURPOSE_ALPHA,
|
||||
- IBUS_INPUT_PURPOSE_DIGITS,
|
||||
- IBUS_INPUT_PURPOSE_NUMBER,
|
||||
- IBUS_INPUT_PURPOSE_PHONE,
|
||||
- IBUS_INPUT_PURPOSE_URL,
|
||||
- IBUS_INPUT_PURPOSE_EMAIL,
|
||||
- IBUS_INPUT_PURPOSE_NAME,
|
||||
- IBUS_INPUT_PURPOSE_PASSWORD,
|
||||
- IBUS_INPUT_PURPOSE_PIN
|
||||
+ IBUS_INPUT_PURPOSE_FREE_FORM,
|
||||
+ IBUS_INPUT_PURPOSE_ALPHA,
|
||||
+ IBUS_INPUT_PURPOSE_DIGITS,
|
||||
+ IBUS_INPUT_PURPOSE_NUMBER,
|
||||
+ IBUS_INPUT_PURPOSE_PHONE,
|
||||
+ IBUS_INPUT_PURPOSE_URL,
|
||||
+ IBUS_INPUT_PURPOSE_EMAIL,
|
||||
+ IBUS_INPUT_PURPOSE_NAME,
|
||||
+ IBUS_INPUT_PURPOSE_PASSWORD,
|
||||
+ IBUS_INPUT_PURPOSE_PIN,
|
||||
+ IBUS_INPUT_PURPOSE_TERMINAL
|
||||
} IBusInputPurpose;
|
||||
|
||||
+ /* rhbz#1432252 If bus_connection_get_unique_name() == NULL,
|
||||
+ * "Hello" method is not received yet.
|
||||
+ */
|
||||
+ if (old != NULL && bus_connection_get_unique_name (old->conn) != NULL) {
|
||||
+ has_old_owner = TRUE;
|
||||
+ }
|
||||
+
|
||||
if (old != NULL) {
|
||||
g_signal_emit (dbus,
|
||||
dbus_signals[NAME_LOST],
|
||||
@@ -370,7 +380,8 @@ bus_name_service_set_primary_owner (BusNameService *service,
|
||||
0,
|
||||
owner->conn,
|
||||
service->name,
|
||||
- old != NULL ? bus_connection_get_unique_name (old->conn) : "",
|
||||
+ has_old_owner ? bus_connection_get_unique_name (old->conn) :
|
||||
+ "",
|
||||
bus_connection_get_unique_name (owner->conn));
|
||||
|
||||
if (old != NULL && old->do_not_queue != 0) {
|
||||
@@ -427,6 +438,7 @@ bus_name_service_remove_owner (BusNameService *service,
|
||||
BusDBusImpl *dbus)
|
||||
/**
|
||||
@@ -280,24 +297,36 @@ typedef enum
|
||||
* first word of each sentence
|
||||
* @IBUS_INPUT_HINT_INHIBIT_OSK: Suggest to not show an onscreen keyboard
|
||||
* (e.g for a calculator that already has all the keys).
|
||||
- * @IBUS_INPUT_HINT_VERTICAL_WRITING: The text is vertical.
|
||||
+ * @IBUS_INPUT_HINT_VERTICAL_WRITING: The text is vertical. Since 1.5.11
|
||||
+ * @IBUS_INPUT_HINT_EMOJI: Suggest offering Emoji support. Since 1.5.24
|
||||
+ * @IBUS_INPUT_HINT_NO_EMOJI: Suggest not offering Emoji support. Since 1.5.24
|
||||
*
|
||||
* Describes hints that might be taken into account by engines. Note
|
||||
* that engines may already tailor their behaviour according to the
|
||||
* #IBusInputPurpose of the entry.
|
||||
+ *
|
||||
+ * Some common sense is expected when using these flags - mixing
|
||||
+ * @IBUS_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense.
|
||||
+ *
|
||||
+ * This enumeration may be extended in the future; engines should
|
||||
+ * ignore unknown values.
|
||||
+ *
|
||||
+ * Since: 1.5.4
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GSList *owners;
|
||||
+ gboolean has_new_owner = FALSE;
|
||||
- IBUS_INPUT_HINT_NONE = 0,
|
||||
- IBUS_INPUT_HINT_SPELLCHECK = 1 << 0,
|
||||
- IBUS_INPUT_HINT_NO_SPELLCHECK = 1 << 1,
|
||||
- IBUS_INPUT_HINT_WORD_COMPLETION = 1 << 2,
|
||||
- IBUS_INPUT_HINT_LOWERCASE = 1 << 3,
|
||||
- IBUS_INPUT_HINT_UPPERCASE_CHARS = 1 << 4,
|
||||
- IBUS_INPUT_HINT_UPPERCASE_WORDS = 1 << 5,
|
||||
- IBUS_INPUT_HINT_UPPERCASE_SENTENCES = 1 << 6,
|
||||
- IBUS_INPUT_HINT_INHIBIT_OSK = 1 << 7,
|
||||
- IBUS_INPUT_HINT_VERTICAL_WRITING = 1 << 8
|
||||
+ IBUS_INPUT_HINT_NONE = 0,
|
||||
+ IBUS_INPUT_HINT_SPELLCHECK = 1 << 0,
|
||||
+ IBUS_INPUT_HINT_NO_SPELLCHECK = 1 << 1,
|
||||
+ IBUS_INPUT_HINT_WORD_COMPLETION = 1 << 2,
|
||||
+ IBUS_INPUT_HINT_LOWERCASE = 1 << 3,
|
||||
+ IBUS_INPUT_HINT_UPPERCASE_CHARS = 1 << 4,
|
||||
+ IBUS_INPUT_HINT_UPPERCASE_WORDS = 1 << 5,
|
||||
+ IBUS_INPUT_HINT_UPPERCASE_SENTENCES = 1 << 6,
|
||||
+ IBUS_INPUT_HINT_INHIBIT_OSK = 1 << 7,
|
||||
+ IBUS_INPUT_HINT_VERTICAL_WRITING = 1 << 8,
|
||||
+ IBUS_INPUT_HINT_EMOJI = 1 << 9,
|
||||
+ IBUS_INPUT_HINT_NO_EMOJI = 1 << 10
|
||||
} IBusInputHints;
|
||||
|
||||
g_assert (service != NULL);
|
||||
g_assert (owner != NULL);
|
||||
@@ -439,6 +451,13 @@ bus_name_service_remove_owner (BusNameService *service,
|
||||
BusConnectionOwner *_new = NULL;
|
||||
if (owners->next != NULL) {
|
||||
_new = (BusConnectionOwner *)owners->next->data;
|
||||
+ /* rhbz#1406699 If bus_connection_get_unique_name() == NULL,
|
||||
+ * "Hello" method is not received yet.
|
||||
+ */
|
||||
+ if (_new != NULL &&
|
||||
+ bus_connection_get_unique_name (_new->conn) != NULL) {
|
||||
+ has_new_owner = TRUE;
|
||||
+ }
|
||||
}
|
||||
|
||||
if (dbus != NULL) {
|
||||
@@ -447,7 +466,7 @@ bus_name_service_remove_owner (BusNameService *service,
|
||||
0,
|
||||
owner->conn,
|
||||
service->name);
|
||||
- if (_new != NULL) {
|
||||
+ if (has_new_owner) {
|
||||
g_signal_emit (dbus,
|
||||
dbus_signals[NAME_ACQUIRED],
|
||||
0,
|
||||
@@ -460,7 +479,7 @@ bus_name_service_remove_owner (BusNameService *service,
|
||||
_new != NULL ? _new->conn : NULL,
|
||||
service->name,
|
||||
bus_connection_get_unique_name (owner->conn),
|
||||
- _new != NULL ? bus_connection_get_unique_name (_new->conn) : "");
|
||||
+ has_new_owner ? bus_connection_get_unique_name (_new->conn) : "");
|
||||
|
||||
}
|
||||
}
|
||||
#endif
|
||||
--
|
||||
2.24.1
|
||||
|
||||
|
||||
19
ibus.spec
19
ibus.spec
@ -5,8 +5,8 @@
|
||||
%global dbus_python_version 0.83.0
|
||||
|
||||
Name: ibus
|
||||
Version: 1.5.22
|
||||
Release: 3
|
||||
Version: 1.5.23
|
||||
Release: 1
|
||||
Summary: Intelligent Input Bus for Linux OS
|
||||
License: LGPLv2+
|
||||
URL: https://github.com/ibus/%name/wiki
|
||||
@ -16,9 +16,7 @@ Source1: %{name}-xinput
|
||||
Source2: %{name}.conf.5
|
||||
Patch0: %{name}-HEAD.patch
|
||||
Patch1: %{name}-1385349-segv-bus-proxy.patch
|
||||
Patch6000: 02338ce751a1ed5b9b892fba530ec2fe211d314e.patch
|
||||
Patch6001: aa558de80c224921753990806cf553428fbe7057.patch
|
||||
Patch6002: b72efea42d5f72e08e2774ae03027c246d41cab7.patch
|
||||
Patch2: 30a3641e19c541924959a5770dd784b4424288d4.patch
|
||||
|
||||
BuildRequires: gettext-devel libtool glib2-doc gtk2-devel gtk3-devel dbus-glib-devel gtk-doc dconf-devel dbus-x11 python3-devel
|
||||
BuildRequires: dbus-python-devel >= %{dbus_python_version} desktop-file-utils python3-gobject vala vala-devel vala-tools
|
||||
@ -42,8 +40,8 @@ Requires(postun): %{_sbindir}/alternatives
|
||||
|
||||
Provides: ibus-gtk = %{version}-%{release}
|
||||
Obsoletes: ibus-gtk < %{version}-%{release}
|
||||
Provides: ibus-gtk2 ibus-gtk3 ibus-setup ibus-wayland
|
||||
Obsoletes: ibus-gtk2 ibus-gtk3 ibus-setup ibus-wayland
|
||||
Provides: ibus-gtk2 = %{version}-%{release} ibus-gtk3 = %{version}-%{release} ibus-setup = %{version}-%{release} ibus-wayland = %{version}-%{release}
|
||||
Obsoletes: ibus-gtk2 < %{version}-%{release} ibus-gtk3 < %{version}-%{release} ibus-setup < %{version}-%{release} ibus-wayland < %{version}-%{release}
|
||||
|
||||
%global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
|
||||
|
||||
@ -62,8 +60,8 @@ This package contains the libraries for IBus
|
||||
Summary: Development tools for ibus
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: dbus-devel glib2-devel gobject-introspection-devel vala
|
||||
Provides: ibus-devel-docs
|
||||
Obsoletes: ibus-devel-docs
|
||||
Provides: ibus-devel-docs = %{version}-%{release}
|
||||
Obsoletes: ibus-devel-docs < %{version}-%{release}
|
||||
|
||||
%package_help
|
||||
|
||||
@ -183,6 +181,9 @@ dconf update || :
|
||||
%{_datadir}/gtk-doc/html/*
|
||||
|
||||
%changelog
|
||||
* Fri Jan 29 2021 zhanzhimin <zhanzhimin@huawei.com> - 1.5.23-1
|
||||
- update to 1.5.23
|
||||
|
||||
* 20201121063007667187 patch-tracking 1.5.22-3
|
||||
- append patch file of upstream repository from <02338ce751a1ed5b9b892fba530ec2fe211d314e> to <b72efea42d5f72e08e2774ae03027c246d41cab7>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user