Compare commits

...

No commits in common. 'c9' and 'i10c-beta' have entirely different histories.

2
.gitignore vendored

@ -1 +1 @@
SOURCES/ibus-1.5.25.tar.gz
SOURCES/ibus-1.5.31-beta1.tar.gz

@ -1 +1 @@
4058f9b11781f9d33927c2464da6ebcaa5c2a83a SOURCES/ibus-1.5.25.tar.gz
ca2f53757e6bbdaaa758441dfa53c5afb07e93a4 SOURCES/ibus-1.5.31-beta1.tar.gz

@ -0,0 +1,4 @@
cksum 3313147683 4137125 ibus-1.5.31-beta1.tar.gz
sha1sum ca2f53757e6bbdaaa758441dfa53c5afb07e93a4 ibus-1.5.31-beta1.tar.gz
sha256sum f8c6560cd6ee4487ec568c85347091208759965660ced238c0fb2fcc049fe829 ibus-1.5.31-beta1.tar.gz
sha512sum 4aa27ce1df56afd0a75019fd0398bc892d1697dfe2fed20b3cc5fe5596d14c3531a430e83a513b79b7811abea01241091f5c0f51a38bddb4a24309cc58a76122 ibus-1.5.31-beta1.tar.gz

@ -1,6 +1,6 @@
From 41c325dfb32269c9aadfeedb4df44656aac4d883 Mon Sep 17 00:00:00 2001
From 1286ce92a5ccf68b5dcf1b4a7c0884ce29d5c51b Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Fri, 20 Nov 2020 09:53:54 +0900
Date: Fri, 12 Jul 2024 23:30:25 +0900
Subject: [PATCH] Fix SEGV in bus_panel_proxy_focus_in()
rhbz#1350291 SEGV in BUS_IS_CONNECTION(skip_connection) in
@ -11,9 +11,12 @@ rhbz#1767976 SEGV in assert(connection != NULL) in
bus_dbus_impl_connection_filter_cb()
call bus_connection_set_filter() in bus_dbus_impl_destroy().
rhbz#2213445 SEGV in bus_panel_proxy_new()
WIP: Add a GError.
rhbz#1601577 rhbz#1797726 SEGV in ibus_engine_desc_get_layout() in
bus_engine_proxy_new_internal()
WIP: Added a GError to get the error message to check why the SEGV happened.
WIP: Add a GError to get the error message to check why the SEGV happened.
rhbz#1663528 SEGV in g_mutex_clear() in bus_dbus_impl_destroy()
If the mutex is not unlocked, g_mutex_clear() causes assert.
@ -21,7 +24,11 @@ If the mutex is not unlocked, g_mutex_clear() causes assert.
rhbz#1767691 SEGV in client/x11/main.c:_sighandler().
Do not call atexit functions in _sighandler().
rhbz#1795499 SEGV in ibus_bus_get_bus_address() because of no _bus->priv.
rhbz#2195895 SEGV in client/x11/main.c:_xim_set_cursor_location()
check if IBusInputContext was disconnected.
rhbz#1795499 rhbz#1936777 SEGV in ibus_bus_get_bus_address() because of
no _bus->priv.
_changed_cb() should not be called after ibus_bus_destroy() is called.
rhbz#1771238 SEGV in assert(m_loop == null) in switcher.vala.
@ -31,6 +38,13 @@ events and m_loop was not released.
rhbz#1797120 SEGV in assert(bus.is_connected()) in panel_binding_construct()
Check m_ibus in extension.vala:bus_name_acquired_cb()
rhbz#2151344 SEGV with portal_context->owner in name_owner_changed()
Maybe g_object_unref() is called but not finalized yet.
rhbz#2239633 SEGV with g_object_unref() in
ibus_portal_context_handle_destroy()
Connect "handle-destroy" signal after g_list_prepend().
BUG=rhbz#1350291
BUG=rhbz#1601577
BUG=rhbz#1663528
@ -39,20 +53,25 @@ BUG=rhbz#1795499
BUG=rhbz#1771238
BUG=rhbz#1767976
BUG=rhbz#1797120
BUG=rhbz#2151344
BUG=rhbz#2195895
BUG=rhbz#2239633
---
bus/dbusimpl.c | 47 ++++++++++++++++++++++++---
bus/engineproxy.c | 51 ++++++++++++++++++++++-------
client/x11/main.c | 8 ++++-
src/ibusbus.c | 5 +++
bus/engineproxy.c | 44 +++++++++++++++++++------
bus/panelproxy.c | 9 +++++-
client/x11/main.c | 56 ++++++++++++++++++++++++++++----
portal/portal.c | 25 ++++++++++++---
src/ibusbus.c | 6 ++++
ui/gtk3/extension.vala | 4 +++
ui/gtk3/switcher.vala | 73 +++++++++++++++++++++++++-----------------
6 files changed, 141 insertions(+), 47 deletions(-)
8 files changed, 208 insertions(+), 56 deletions(-)
diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c
index 59787a80..af2fbde2 100644
index 110d864a..391d576a 100644
--- a/bus/dbusimpl.c
+++ b/bus/dbusimpl.c
@@ -610,6 +610,7 @@ static void
@@ -621,6 +621,7 @@ static void
bus_dbus_impl_destroy (BusDBusImpl *dbus)
{
GList *p;
@ -60,7 +79,7 @@ index 59787a80..af2fbde2 100644
for (p = dbus->objects; p != NULL; p = p->next) {
IBusService *object = (IBusService *) p->data;
@@ -633,6 +634,10 @@ bus_dbus_impl_destroy (BusDBusImpl *dbus)
@@ -644,6 +645,10 @@ bus_dbus_impl_destroy (BusDBusImpl *dbus)
for (p = dbus->connections; p != NULL; p = p->next) {
BusConnection *connection = BUS_CONNECTION (p->data);
@ -71,7 +90,7 @@ index 59787a80..af2fbde2 100644
g_signal_handlers_disconnect_by_func (connection,
bus_dbus_impl_connection_destroy_cb, dbus);
ibus_object_destroy (IBUS_OBJECT (connection));
@@ -647,12 +652,39 @@ bus_dbus_impl_destroy (BusDBusImpl *dbus)
@@ -658,12 +663,39 @@ bus_dbus_impl_destroy (BusDBusImpl *dbus)
dbus->unique_names = NULL;
dbus->names = NULL;
@ -112,8 +131,8 @@ index 59787a80..af2fbde2 100644
+#undef BUS_DBUS_MUTEX_SAFE_CLEAR
/* FIXME destruct _lock and _queue members. */
IBUS_OBJECT_CLASS(bus_dbus_impl_parent_class)->destroy ((IBusObject *) dbus);
@@ -1483,13 +1515,20 @@ bus_dbus_impl_connection_filter_cb (GDBusConnection *dbus_connection,
IBUS_OBJECT_CLASS(bus_dbus_impl_parent_class)->destroy ((IBusObject *)dbus);
@@ -1539,13 +1571,20 @@ bus_dbus_impl_connection_filter_cb (GDBusConnection *dbus_connection,
gboolean incoming,
gpointer user_data)
{
@ -137,14 +156,10 @@ index 59787a80..af2fbde2 100644
if (incoming) {
/* is incoming message */
diff --git a/bus/engineproxy.c b/bus/engineproxy.c
index 2d98995c..bbbe5532 100644
index b3e16066..ba479b59 100644
--- a/bus/engineproxy.c
+++ b/bus/engineproxy.c
@@ -660,20 +660,33 @@ bus_engine_proxy_g_signal (GDBusProxy *proxy,
g_return_if_reached ();
}
+#pragma GCC optimize ("O0")
@@ -696,7 +696,8 @@ bus_engine_proxy_g_signal (GDBusProxy *proxy,
static BusEngineProxy *
bus_engine_proxy_new_internal (const gchar *path,
IBusEngineDesc *desc,
@ -152,16 +167,14 @@ index 2d98995c..bbbe5532 100644
+ GDBusConnection *connection,
+ GError **error)
{
+ GDBusProxyFlags flags;
+ BusEngineProxy *engine;
+
GDBusProxyFlags flags;
BusEngineProxy *engine;
@@ -706,12 +707,20 @@ bus_engine_proxy_new_internal (const gchar *path,
g_assert (path);
g_assert (IBUS_IS_ENGINE_DESC (desc));
g_assert (G_IS_DBUS_CONNECTION (connection));
+ g_assert (error && *error == NULL);
- GDBusProxyFlags flags = G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START;
- BusEngineProxy *engine =
+ /* rhbz#1601577 engine == NULL if connection is closed. */
+ if (g_dbus_connection_is_closed (connection)) {
+ *error = g_error_new (G_DBUS_ERROR,
@ -169,19 +182,19 @@ index 2d98995c..bbbe5532 100644
+ "Connection is closed.");
+ return NULL;
+ }
+ flags = G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START;
+ engine =
(BusEngineProxy *) g_initable_new (BUS_TYPE_ENGINE_PROXY,
NULL,
- NULL,
+ error,
"desc", desc,
"g-connection", connection,
"g-interface-name", IBUS_INTERFACE_ENGINE,
@@ -681,12 +694,19 @@ bus_engine_proxy_new_internal (const gchar *path,
"g-default-timeout", g_gdbus_timeout,
"g-flags", flags,
NULL);
flags = G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START;
engine = (BusEngineProxy *) g_initable_new (
BUS_TYPE_ENGINE_PROXY,
NULL,
- NULL,
+ error,
"desc", desc,
"g-connection", connection,
"g-interface-name", IBUS_INTERFACE_ENGINE,
@@ -719,6 +728,12 @@ bus_engine_proxy_new_internal (const gchar *path,
"g-default-timeout", g_gdbus_timeout,
"g-flags", flags,
NULL);
+ /* FIXME: rhbz#1601577 */
+ if (!engine) {
+ /* show abrt local variable */
@ -191,14 +204,7 @@ index 2d98995c..bbbe5532 100644
const gchar *layout = ibus_engine_desc_get_layout (desc);
if (layout != NULL && layout[0] != '\0') {
engine->keymap = ibus_keymap_get (layout);
}
return engine;
}
+#pragma GCC reset_options
typedef struct {
GTask *task;
@@ -748,23 +768,30 @@ create_engine_ready_cb (BusFactoryProxy *factory,
@@ -818,23 +833,30 @@ create_engine_ready_cb (BusFactoryProxy *factory,
GAsyncResult *res,
EngineProxyNewData *data)
{
@ -237,11 +243,45 @@ index 2d98995c..bbbe5532 100644
/* FIXME: set destroy callback ? */
g_task_return_pointer (data->task, engine, NULL);
diff --git a/bus/panelproxy.c b/bus/panelproxy.c
index e6001ebf..00828fbc 100644
--- a/bus/panelproxy.c
+++ b/bus/panelproxy.c
@@ -122,6 +122,8 @@ bus_panel_proxy_new (BusConnection *connection,
const gchar *path = NULL;
GObject *obj;
BusPanelProxy *panel;
+ GError *error = NULL;
+ const gchar *message;
g_assert (BUS_IS_CONNECTION (connection));
@@ -138,7 +140,7 @@ bus_panel_proxy_new (BusConnection *connection,
obj = g_initable_new (BUS_TYPE_PANEL_PROXY,
NULL,
- NULL,
+ &error,
"g-object-path", path,
"g-interface-name", IBUS_INTERFACE_PANEL,
"g-connection", bus_connection_get_dbus_connection (connection),
@@ -146,6 +148,11 @@ bus_panel_proxy_new (BusConnection *connection,
"g-flags", G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START | G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
NULL);
+ if (error) {
+ /* TODO: rhbz#2213445 Why does this issue happen? */
+ message = error->message;
+ g_critical ("Failed to generate BusPanelProxy: %s", message);
+ }
panel = BUS_PANEL_PROXY (obj);
panel->panel_type = panel_type;
return panel;
diff --git a/client/x11/main.c b/client/x11/main.c
index c9ee174d..768b91f0 100644
index b7eb5961..3075d5d0 100644
--- a/client/x11/main.c
+++ b/client/x11/main.c
@@ -40,6 +40,7 @@
@@ -45,6 +45,7 @@
#include <iconv.h>
#include <signal.h>
#include <stdlib.h>
@ -249,7 +289,142 @@ index c9ee174d..768b91f0 100644
#include <getopt.h>
@@ -1104,7 +1105,12 @@ _atexit_cb ()
@@ -69,6 +70,7 @@ typedef struct _X11ICONN X11ICONN;
typedef struct _X11IC X11IC;
struct _X11IC {
IBusInputContext *context;
+ gboolean ibus_connected;
Window client_window;
Window focus_window;
gint32 input_style;
@@ -327,6 +329,18 @@ _xim_store_ic_values (X11IC *x11ic, IMChangeICStruct *call_data)
return 1;
}
+static void
+ibus_ic_connection_closed_cb (GDBusConnection *connection,
+ gboolean remote_peer_vanished,
+ GError *error,
+ X11IC *x11ic)
+{
+ /* rhbz#2195895 The moment of the IBusBus disconnection would be
+ * different from the moment of XIM_DISCONNECT.
+ */
+ x11ic->ibus_connected = FALSE;
+}
+
static int
xim_create_ic (XIMS xims, IMChangeICStruct *call_data)
@@ -334,6 +348,7 @@ xim_create_ic (XIMS xims, IMChangeICStruct *call_data)
static int base_icid = 1;
X11IC *x11ic;
guint32 capabilities = IBUS_CAP_FOCUS;
+ GDBusConnection *connection;
call_data->icid = base_icid ++;
@@ -345,8 +360,9 @@ xim_create_ic (XIMS xims, IMChangeICStruct *call_data)
x11ic->icid = call_data->icid;
x11ic->connect_id = call_data->connect_id;
- x11ic->conn = (X11ICONN *)g_hash_table_lookup (_connections,
- GINT_TO_POINTER ((gint) call_data->connect_id));
+ x11ic->conn = (X11ICONN *)g_hash_table_lookup (
+ _connections,
+ GINT_TO_POINTER ((gint) call_data->connect_id));
if (x11ic->conn == NULL) {
g_slice_free (X11IC, x11ic);
g_return_val_if_reached (0);
@@ -376,6 +392,10 @@ xim_create_ic (XIMS xims, IMChangeICStruct *call_data)
G_CALLBACK (_context_enabled_cb), x11ic);
g_signal_connect (x11ic->context, "disabled",
G_CALLBACK (_context_disabled_cb), x11ic);
+ connection = g_dbus_proxy_get_connection (G_DBUS_PROXY (x11ic->context));
+ x11ic->ibus_connected = !g_dbus_connection_is_closed (connection);
+ g_signal_connect (connection, "closed",
+ G_CALLBACK (ibus_ic_connection_closed_cb), x11ic);
if (x11ic->input_style & XIMPreeditCallbacks)
@@ -400,11 +420,19 @@ xim_destroy_ic (XIMS xims, IMChangeICStruct *call_data)
LOG (1, "XIM_DESTROY_IC ic=%d connect_id=%d",
call_data->icid, call_data->connect_id);
- x11ic = (X11IC *)g_hash_table_lookup (_x11_ic_table,
- GINT_TO_POINTER ((gint) call_data->icid));
+ x11ic = (X11IC *)g_hash_table_lookup (
+ _x11_ic_table,
+ GINT_TO_POINTER ((gint) call_data->icid));
g_return_val_if_fail (x11ic != NULL, 0);
if (x11ic->context) {
+ GDBusConnection *connection =
+ g_dbus_proxy_get_connection (G_DBUS_PROXY (x11ic->context));
+ x11ic->ibus_connected = FALSE;
+ g_signal_handlers_disconnect_by_func (
+ connection,
+ (GCallback)ibus_ic_connection_closed_cb,
+ x11ic);
ibus_proxy_destroy ((IBusProxy *)x11ic->context);
g_object_unref (x11ic->context);
x11ic->context = NULL;
@@ -412,7 +440,8 @@ xim_destroy_ic (XIMS xims, IMChangeICStruct *call_data)
g_hash_table_remove (_x11_ic_table,
GINT_TO_POINTER ((gint) call_data->icid));
- x11ic->conn->clients = g_list_remove (x11ic->conn->clients, (gconstpointer)x11ic);
+ x11ic->conn->clients = g_list_remove (x11ic->conn->clients,
+ (gconstpointer)x11ic);
g_free (x11ic->preedit_string);
x11ic->preedit_string = NULL;
@@ -439,6 +468,8 @@ xim_set_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
x11ic = (X11IC *) g_hash_table_lookup (_x11_ic_table,
GINT_TO_POINTER ((gint) call_data->icid));
g_return_val_if_fail (x11ic != NULL, 0);
+ if (!x11ic->ibus_connected)
+ return 1;
ibus_input_context_focus_in (x11ic->context);
_xim_set_cursor_location (x11ic);
@@ -458,6 +489,8 @@ xim_unset_ic_focus (XIMS xims, IMChangeFocusStruct *call_data)
x11ic = (X11IC *) g_hash_table_lookup (_x11_ic_table,
GINT_TO_POINTER ((gint) call_data->icid));
g_return_val_if_fail (x11ic != NULL, 0);
+ if (!x11ic->ibus_connected)
+ return 1;
ibus_input_context_focus_out (x11ic->context);
@@ -712,6 +745,8 @@ xim_forward_event (XIMS xims, IMForwardEventStruct *call_data)
_x11_ic_table,
GINT_TO_POINTER ((gint) call_data->icid));
g_return_val_if_fail (x11ic != NULL, 0);
+ if (!x11ic->ibus_connected)
+ return 0;
xevent = (XKeyEvent*) &(call_data->event);
@@ -870,6 +905,8 @@ _xim_set_cursor_location (X11IC *x11ic)
}
}
+ if (!x11ic->ibus_connected)
+ return;
ibus_input_context_set_cursor_location (x11ic->context,
preedit_area.x,
preedit_area.y,
@@ -950,6 +987,8 @@ xim_reset_ic (XIMS xims, IMResetICStruct *call_data)
x11ic = (X11IC *) g_hash_table_lookup (_x11_ic_table,
GINT_TO_POINTER ((gint) call_data->icid));
g_return_val_if_fail (x11ic != NULL, 0);
+ if (!x11ic->ibus_connected)
+ return 1;
ibus_input_context_reset (x11ic->context);
@@ -1309,7 +1348,12 @@ _atexit_cb ()
static void
_sighandler (int sig)
{
@ -263,11 +438,70 @@ index c9ee174d..768b91f0 100644
}
static void
diff --git a/portal/portal.c b/portal/portal.c
index 5cd38779..5110baad 100644
--- a/portal/portal.c
+++ b/portal/portal.c
@@ -92,6 +92,11 @@ static void portal_context_g_signal (GDBusProxy *proxy,
GVariant *parameters,
IBusPortalContext *portal_context);
+#define IBUS_TYPE_PORTAL_CONTEXT \
+ (ibus_portal_context_get_type ())
+#define IBUS_IS_PORTAL_CONTEXT(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IBUS_TYPE_PORTAL_CONTEXT))
+
G_DEFINE_TYPE_WITH_CODE (IBusPortalContext,
ibus_portal_context,
IBUS_DBUS_TYPE_INPUT_CONTEXT_SKELETON,
@@ -492,11 +497,6 @@ ibus_portal_context_new (IBusInputContext *context,
g_strdup_printf (IBUS_PATH_INPUT_CONTEXT, portal_context->id);
portal_context->service = ibus_dbus_service_skeleton_new ();
- g_signal_connect (portal_context->service,
- "handle-destroy",
- G_CALLBACK (ibus_portal_context_handle_destroy),
- portal_context);
-
if (!g_dbus_interface_skeleton_export (
G_DBUS_INTERFACE_SKELETON (portal_context->service),
connection, portal_context->object_path,
@@ -509,8 +509,17 @@ ibus_portal_context_new (IBusInputContext *context,
return NULL;
}
+ /* rhbz#2239633 g_list_prepend() needs to be callsed before
+ * ibus_portal_context_handle_destroy() is connected
+ * for g_list_remove() in ibus_portal_context_finalize().
+ */
all_contexts = g_list_prepend (all_contexts, portal_context);
+ g_signal_connect (portal_context->service,
+ "handle-destroy",
+ G_CALLBACK (ibus_portal_context_handle_destroy),
+ portal_context);
+
return portal_context;
}
@@ -667,6 +676,12 @@ name_owner_changed (GDBusConnection *connection,
IBusPortalContext *portal_context = l->data;
next = l->next;
+ /* rhbz#2151344 portal_context might not be finalized? */
+ if (!G_LIKELY (IBUS_IS_PORTAL_CONTEXT (portal_context))) {
+ g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC,
+ "portal_context is not IBusPortalContext");
+ continue;
+ }
if (g_strcmp0 (portal_context->owner, name) == 0) {
g_object_unref (portal_context);
}
diff --git a/src/ibusbus.c b/src/ibusbus.c
index b7ffbb47..668c8a26 100644
index 0e6d67f1..fcc742b6 100644
--- a/src/ibusbus.c
+++ b/src/ibusbus.c
@@ -689,6 +689,11 @@ ibus_bus_destroy (IBusObject *object)
@@ -742,6 +742,12 @@ ibus_bus_destroy (IBusObject *object)
_bus = NULL;
if (bus->priv->monitor) {
@ -276,6 +510,7 @@ index b7ffbb47..668c8a26 100644
+ */
+ g_signal_handlers_disconnect_by_func (bus->priv->monitor,
+ (GCallback) _changed_cb, bus);
+ g_file_monitor_cancel (bus->priv->monitor);
g_object_unref (bus->priv->monitor);
bus->priv->monitor = NULL;
}
@ -295,10 +530,10 @@ index a6f2e8e6..b7a04081 100644
m_panel.load_settings();
}
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
index a4529c88..29a70dd5 100644
index 26bded99..21ede7be 100644
--- a/ui/gtk3/switcher.vala
+++ b/ui/gtk3/switcher.vala
@@ -140,8 +140,8 @@ class Switcher : Gtk.Window {
@@ -176,8 +176,8 @@ class Switcher : Gtk.Window {
IBus.EngineDesc[] engines,
int index,
string input_context_path) {
@ -307,9 +542,9 @@ index a4529c88..29a70dd5 100644
+ assert(m_loop == null);
+ assert(index < engines.length);
m_is_running = true;
m_keyval = keyval;
@@ -198,16 +198,18 @@ class Switcher : Gtk.Window {
if (m_is_running)
return index;
@@ -236,16 +236,18 @@ class Switcher : Gtk.Window {
null,
event,
null);
@ -337,7 +572,7 @@ index a4529c88..29a70dd5 100644
#else
Gdk.Device device = event.get_device();
if (device == null) {
@@ -243,30 +245,41 @@ class Switcher : Gtk.Window {
@@ -281,30 +283,41 @@ class Switcher : Gtk.Window {
Gdk.EventMask.KEY_RELEASE_MASK,
null,
Gdk.CURRENT_TIME);
@ -399,5 +634,5 @@ index a4529c88..29a70dd5 100644
#if VALA_0_34
seat.ungrab();
--
2.24.1
2.45.0

File diff suppressed because it is too large Load Diff

@ -6,6 +6,10 @@ PREFERENCE_PROGRAM=/usr/bin/ibus-setup
SHORT_DESC="IBus"
GTK_IM_MODULE=ibus
NOT_RUN=gnome3
# IMSETTINGS_IGNORE_SESSION concatenate the current session name and type x11 or
# wayland. The current session name is calculated by get_destop()
# in /usr/libexec/imsettings-functions and the value is case-sensitive.
IMSETTINGS_IGNORE_SESSION=KDE-wayland
if test -f /usr/lib64/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so || \
test -f /usr/lib/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so || \

@ -1,37 +0,0 @@
From d63da885f8f4e3764b8b572347b70a0cefadc335 Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Wed, 16 Jun 2021 20:55:20 +0900
Subject: [PATCH] src/tests: Change window manager to mutter for RHEL
---
src/tests/ibus-desktop-testing-runner.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
index 54b7e0d7..211e0da5 100755
--- a/src/tests/ibus-desktop-testing-runner.in
+++ b/src/tests/ibus-desktop-testing-runner.in
@@ -44,7 +44,7 @@ TEST_LOG="test-suite.log"
TEST_LOG_STDOUT=0
RESULT_LOG=""
HAVE_GRAPHICS=1
-DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session"
+DESKTOP_COMMAND="dbus-launch --exit-with-session mutter"
PID_XORG=0
PID_GNOME_SESSION=0
TESTING_RUNNER="default"
@@ -80,9 +80,9 @@ usage()
"-b, --builddir=BUILDDIR Set the BUILDDIR\n" \
"-s, --srcdir=SOURCEDIR Set the SOURCEDIR\n" \
"-c, --no-graphics Use Xvfb instead of Xorg\n" \
-"-d, --desktop=DESKTOP Run DESTKTOP. The default is gnome-session.\n" \
+"-d, --desktop=DESKTOP Run DESTKTOP. The default is mutter.\n" \
" Suffix '-with-dbus' can run DESKTOP with dbus session." \
-" E.g. --desktop=mutter-with-dbus" \
+" E.g. --desktop=gnome-session-with-dbus" \
"-t, --tests=\"TESTS...\" Run TESTS programs which is separated by space\n" \
"-r, --runner=RUNNER Run TESTS programs with a test RUNNER.\n" \
" RUNNDER = gnome or default.\n" \
--
2.28.0

@ -1,3 +1,5 @@
%global source_version %%(echo "%version" | tr '~' '-')
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_3
%if (0%{?fedora} > 29 || 0%{?rhel} > 7)
%global with_python2 0
@ -8,18 +10,39 @@
%global with_pkg_config %(pkg-config --version >/dev/null 2>&1 && echo -n "1" || echo -n "0")
%global ibus_api_version 1.0
%global pkgcache /var/cache/%name
# for bytecompile in %%{_datadir}/ibus/setup
%global __python %{__python3}
# No gtk2 in RHEL 10
%if 0%{?rhel} > 9
%bcond_with gtk2
%bcond_with xinit
%else
%bcond_without gtk2
%bcond_without xinit
%endif
%if (0%{?fedora} > 33 || 0%{?rhel} > 8)
%bcond_without gtk4
%else
%bcond_with gtk4
%endif
%global ibus_xinit_condition %ibus_panel_condition
# FIXME: How to write a condition with multiple lines
%global ibus_panel_condition (%pcd1 or %pcd2 or %pcd3)
%global pcd1 budgie-desktop or cinnamon or deepin-desktop or i3
%global pcd2 lxqt-session or lxsession or mate-panel or phosh
%global pcd3 plasma-workspace or sugar or xfce4-session
%if %with_pkg_config
%if %{with gtk2}
%{!?gtk2_binary_version: %global gtk2_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0)}
%else
%{!?gtk2_binary_version: %global gtk2_binary_version ?.?.?}
%endif
%{!?gtk3_binary_version: %global gtk3_binary_version %(pkg-config --variable=gtk_binary_version gtk+-3.0)}
%if %{with gtk4}
%{!?gtk4_binary_version: %global gtk4_binary_version %(pkg-config --variable=gtk_binary_version gtk4)}
@ -37,33 +60,33 @@
%global dbus_python_version 0.83.0
Name: ibus
Version: 1.5.25
Release: 2%{?dist}
Version: 1.5.31~beta1
# https://github.com/fedora-infra/rpmautospec/issues/101
Release: 12%{?dist}
Summary: Intelligent Input Bus for Linux OS
License: LGPLv2+
License: LGPL-2.1-or-later
URL: https://github.com/ibus/%name/wiki
Source0: https://github.com/ibus/%name/releases/download/%{version}/%{name}-%{version}.tar.gz
Source1: %{name}-xinput
Source2: %{name}.conf.5
Source0: https://github.com/ibus/%name/releases/download/%{source_version}/%{name}-%{source_version}.tar.gz
Source1: https://github.com/ibus/%name/releases/download/%{source_version}/%{name}-%{source_version}.tar.gz.sum
Source2: %{name}-xinput
Source3: %{name}.conf.5
# Patch0: %%{name}-HEAD.patch
Patch0: %{name}-HEAD.patch
# Under testing #1349148 #1385349 #1350291 #1406699 #1432252 #1601577
Patch1: %{name}-1385349-segv-bus-proxy.patch
%if 0%{?fedora:0}%{?rhel:1}
# Use mutter window manager in RHEL CI
Patch2: %{name}-xx-desktop-testing-mutter.patch
%endif
# autoreconf requires autopoint but not po.m4
BuildRequires: gettext-devel
BuildRequires: libtool
# for gtkdoc-fixxref
BuildRequires: glib2-doc
%if %{with gtk2}
BuildRequires: gtk2-devel
%endif
BuildRequires: gtk3-devel
%if %{with gtk4}
BuildRequires: gtk4-devel
%endif
BuildRequires: dbus-glib-devel
BuildRequires: dbus-python-devel >= %{dbus_python_version}
BuildRequires: desktop-file-utils
BuildRequires: gtk-doc
@ -87,13 +110,20 @@ BuildRequires: wayland-devel
BuildRequires: cldr-emoji-annotation
BuildRequires: unicode-emoji
BuildRequires: unicode-ucd
# for ibus-keypress
BuildRequires: libXtst-devel
BuildRequires: systemd
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%if %{with gtk2}
Requires: (%{name}-gtk2%{?_isa} = %{version}-%{release} if gtk2)
%endif
Requires: %{name}-gtk3%{?_isa} = %{version}-%{release}
Requires: %{name}-setup = %{version}-%{release}
%if 0%{?fedora}
Requires: (%{name}-panel%{?_isa} = %{version}-%{release} if %ibus_panel_condition)
%endif
%if %{with xinit}
Requires: (%{name}-xinit = %{version}-%{release} if %ibus_xinit_condition)
%endif
Requires: iso-codes
Requires: dconf
@ -103,13 +133,6 @@ Requires: dconf
Requires: python3-gobject
# https://bugzilla.redhat.com/show_bug.cgi?id=1161871
%{?__python3:Requires: %{__python3}}
# Owner of %%{_sysconfdir}/X11/xinit
Requires: xorg-x11-xinit
Requires: setxkbmap
%if (0%{?fedora} > 29 || 0%{?rhel} > 8)
%else
Requires: dbus-x11
%endif
Requires: desktop-file-utils
Requires(post): desktop-file-utils
@ -142,6 +165,7 @@ Conflicts: %{name}%{?_isa} < %{version}
%description libs
This package contains the libraries for IBus
%if %{with gtk2}
%package gtk2
Summary: IBus IM module for GTK2
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
@ -153,6 +177,7 @@ Obsoletes: ibus-gtk < %{version}-%{release}
%description gtk2
This package contains IBus IM module for GTK2
%endif
%package gtk3
Summary: IBus IM module for GTK3
@ -180,7 +205,7 @@ Requires: %{name} = %{version}-%{release}
%{?__python3:Requires: %{__python3}}
Requires: python3-gobject
BuildRequires: gobject-introspection-devel
BuildRequires: pygobject3-devel
BuildRequires: python3-gobject-devel
BuildRequires: make
BuildArch: noarch
@ -226,13 +251,42 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description wayland
This package contains IBus IM module for Wayland
%package panel
Summary: IBus Panel icon
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%if %{with xinit}
# setxkbmap can change XKB options for Xorg desktop sessions
Requires: setxkbmap
%endif
BuildRequires: libdbusmenu-gtk3-devel
%description panel
This package contains IBus Panel icon using GtkStatusIcon or AppIndicator
in non-GNOME desktop sessions likes XFCE or Plasma because gnome-shell
shows the IBus Icon. This package depends on libdbusmenu-gtk3 for Wayland
desktop sessions.
%package xinit
Summary: IBus Xinit
Requires: %{name} = %{version}-%{release}
%if %{with xinit}
# Owner of %%{_sysconfdir}/X11/xinit
Requires: xorg-x11-xinit
%endif
BuildArch: noarch
%description xinit
This package includes xinit scripts to set environment variables of IBus
for Xorg desktop sessions and this is not needed by Wayland desktop sessions.
%package devel
Summary: Development tools for ibus
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: dbus-devel
Requires: glib2-devel
# for %%{_datadir}/gettext/its
Requires: gettext
Requires: gettext-runtime
%description devel
The ibus-devel package contains the header files and developer
@ -263,7 +317,8 @@ desktop testing runner internally.
%package tests
Summary: Tests for the %{name} package
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description tests
The %{name}-tests package contains tests that can be used to verify
@ -271,7 +326,12 @@ the functionality of the installed %{name} package.
%prep
%autosetup -S git
SAVED_SUM=$(grep sha512sum %SOURCE1 | awk '{print $2}')
MY_SUM=$(sha512sum %SOURCE0 | awk '{print $1}')
if test x"$SAVED_SUM" != x"$MY_SUM" ; then
abort
fi
%autosetup -S git -n %{name}-%{source_version}
# cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || :
# cp client/gtk2/ibusim.c client/gtk3/ibusim.c || :
# cp client/gtk2/ibusimcontext.c client/gtk4/ibusimcontext.c || :
@ -298,10 +358,15 @@ fi
#autoreconf -f -i -v
#make -C ui/gtk3 maintainer-clean-generic
#make -C tools maintainer-clean-generic
#make -C src/compose maintainer-clean-generic
autoreconf -f -i -v
%configure \
--disable-static \
%if %{with gtk2}
--enable-gtk2 \
%else
--disable-gtk2 \
%endif
--enable-gtk3 \
%if %{with gtk4}
--enable-gtk4 \
@ -319,20 +384,27 @@ autoreconf -f -i -v
--enable-introspection \
--enable-install-tests \
%{nil}
make -C ui/gtk3 maintainer-clean-generic
%make_build
%install
make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-*%{ibus_api_version}.la
%if %{with gtk2}
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.la
%endif
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.la
%if %{with gtk4}
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules/libim-ibus.la
%endif
%if %{without xinit}
# setxkbmap is not available in RHEL10
rm -f $RPM_BUILD_ROOT%{_datadir}/installed-tests/ibus/xkb-latin-layouts.test
%endif
# install man page
for S in %{SOURCE2}
for S in %{SOURCE3}
do
cp $S .
MP=`basename $S`
@ -341,7 +413,13 @@ do
done
# install xinput config file
install -pm 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_xinputconf}
install -pm 644 -D %{SOURCE2} $RPM_BUILD_ROOT%{_xinputconf}
install -m 755 -d $RPM_BUILD_ROOT%pkgcache/bus
# `rpm -Vaq ibus` compare st_mode of struct stat with lstat(2) and
# st_mode of the RPM cache and if the file does not exist, st_mode of
# RPM cache is o0100000 while the actual st_mode is o0100644.
touch $RPM_BUILD_ROOT%pkgcache/bus/registry
# install .desktop files
%if %with_python2
@ -351,6 +429,9 @@ echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/org.freedesktop
%endif
#echo "X-GNOME-Autostart-enabled=false" >> $RPM_BUILD_ROOT%%{_sysconfdir}/xdg/autostart/ibus.desktop
mkdir -p $RPM_BUILD_ROOT%{_libdir}/ibus
cp src/compose/sequences-* $RPM_BUILD_ROOT%{_libdir}/ibus
HAS_PREFIX=$(grep prefix $RPM_BUILD_ROOT%{_bindir}/ibus-setup | wc -l)
[ x"$HAS_PREFIX" == x1 ] && \
sed -i -e '/prefix/d' $RPM_BUILD_ROOT%{_bindir}/ibus-setup
@ -364,7 +445,7 @@ desktop-file-install --delete-original \
%check
make check \
DISABLE_GUI_TESTS="ibus-compose ibus-keypress test-stress" \
DISABLE_GUI_TESTS="ibus-compose ibus-keypress test-stress xkb-latin-layouts" \
VERBOSE=1 \
%{nil}
@ -381,9 +462,6 @@ if [ "$1" -eq 0 ]; then
dconf update || :
[ -f %{_sysconfdir}/dconf/db/ibus ] && \
rm %{_sysconfdir}/dconf/db/ibus || :
# 'ibus write-cache --system' updates the system cache.
[ -f /var/cache/ibus/bus/registry ] && \
rm /var/cache/ibus/bus/registry || :
fi
%posttrans
@ -410,11 +488,13 @@ dconf update || :
%{_datadir}/applications/org.freedesktop.IBus.Panel.Extension.Gtk3.desktop
%{_datadir}/bash-completion/completions/ibus.bash
%{_datadir}/dbus-1/services/*.service
%dir %{_datadir}/GConf
%dir %{_datadir}/GConf/gsettings
%{_datadir}/GConf/gsettings/*
%{_datadir}/glib-2.0/schemas/*.xml
%{_datadir}/ibus/component
%{_datadir}/ibus/dicts
%{_datadir}/ibus/engine
%dir %{_datadir}/ibus/engine
%{_datadir}/ibus/keymaps
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/man/man1/ibus.1.gz
@ -422,37 +502,42 @@ dconf update || :
%{_datadir}/man/man7/ibus-emoji.7.gz
%{_datadir}/man/man5/00-upstream-settings.5.gz
%{_datadir}/man/man5/ibus.5.gz
%{_datadir}/man/man5/ibus.conf.5.gz
%{_libexecdir}/ibus-engine-simple
%{_libexecdir}/ibus-dconf
%{_libexecdir}/ibus-portal
%{_libexecdir}/ibus-extension-gtk3
%{_libexecdir}/ibus-ui-emojier
%{_libexecdir}/ibus-ui-gtk3
%{_libexecdir}/ibus-x11
%{_sysconfdir}/dconf/db/ibus.d
%{_sysconfdir}/dconf/profile/ibus
%dir %{_sysconfdir}/xdg/Xwayland-session.d
%{_sysconfdir}/xdg/Xwayland-session.d/10-ibus-x11
%dir %{_prefix}/lib/systemd/user/gnome-session.target.wants
%{_prefix}/lib/systemd/user/gnome-session.target.wants/*.service
%{_prefix}/lib/systemd/user/org.freedesktop.IBus.session.*.service
%python3_sitearch/gi/overrides/__pycache__/*.py*
%python3_sitearch/gi/overrides/IBus.py
# ibus owns xinput.d because gnome does not like to depend on imsettings.
%dir %{_sysconfdir}/X11/xinit/xinput.d
# Do not use %%config(noreplace) to always get the new keywords in _xinputconf
# For user customization, $HOME/.xinputrc can be used instead.
%config %{_xinputconf}
%verify(not mtime) %dir %pkgcache
%verify(not mtime) %dir %pkgcache/bus
# 'ibus write-cache --system' updates the system cache.
%ghost %pkgcache/bus/registry
%files libs
%{_libdir}/libibus-*%{ibus_api_version}.so.*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/IBus*-1.0.typelib
%if %{with gtk2}
%files gtk2
%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.so
%endif
%files gtk3
%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so
%if %{with gtk4}
%files gtk4
%dir %{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules
%{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules/libim-ibus.so
%endif
@ -482,7 +567,23 @@ dconf update || :
%files wayland
%{_libexecdir}/ibus-wayland
%files panel
%{_datadir}/applications/org.freedesktop.IBus.Panel.Wayland.Gtk3.desktop
%{_libexecdir}/ibus-ui-gtk3
%files xinit
%{_datadir}/man/man5/ibus.conf.5.gz
%if %{without xinit}
# ibus owns xinit directory without xorg-x11-xinit package
%dir %{_sysconfdir}/X11/xinit
%dir %{_sysconfdir}/X11/xinit/xinput.d
%endif
# Do not use %%config(noreplace) to always get the new keywords in _xinputconf
# For user customization, $HOME/.xinputrc can be used instead.
%config %{_xinputconf}
%files devel
%{_libdir}/ibus
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*
%{_includedir}/*
@ -502,6 +603,9 @@ dconf update || :
%files desktop-testing
%{_bindir}/ibus-desktop-testing-runner
%{_datadir}/ibus/tests
%{_libexecdir}/ibus-desktop-testing-autostart
%{_libexecdir}/ibus-desktop-testing-module
%files tests
%dir %{_libexecdir}/installed-tests
@ -510,30 +614,387 @@ dconf update || :
%{_datadir}/installed-tests/ibus
%changelog
* Mon Oct 04 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-2
- Fix wrong cursor location in gtk3. Related: rhbz#2008359
* Tue Nov 26 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.5.31~beta1-12
- Rebuilt for MSVSphere 10
* Thu Aug 01 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.31~beta1-12
- Delete tmt installation for RHEL10 CI
* Mon Jul 29 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.31~beta1-11
- Disable ibus-panel rich condition in RHEL
- Delete ibus-xx-desktop-testing-mutter.patch
- Delete libXtst-devel dependency
- Replace gnome-terminal with ptyxis
- Install gnome-desktop-testing for RHEL
- Delete xorg-x11-server-Xvfb gnome-session-xsession
- Delete build packages for gnome-desktop-testing for RHEL
- Move evince gnome-logs gvfs-fuse gvfs-gphoto2 gvfs-smb to Fedora specific
- Fix CI test case conditions
- Add no-overview@fthx until gnome-shell-extension-no-overview is available
- Add gnome-headless-session@.service until GDM will provide it
* Sat Jul 27 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.31~beta1-10
- Replace GNOME Xorg with GNOME Wayland in CI
- Replace STI with TMT in CI
* Sat Jul 27 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.31~beta1-9
- Update CI for RHEL packages
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.31~beta1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jul 18 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.31~beta1-7
- Resolves #2297147 Add directory datadir/GConf/gsettings
- Resolves #2297735 Move ibus.conf to ibus-xinit sub package
- Fix memory leaks in error handlings
* Fri Jul 12 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.31~beta1-6
- Bump to 1.5.31-beta1
* Mon Jun 10 2024 Python Maint <python-maint@redhat.com> - 1.5.30-6
- Rebuilt for Python 3.13
* Sat Jun 08 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30-5
- Resolves #2290842 Fix Super-space in Wayland
- Fix compose sequences beyond U10000
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1.5.30-4
- Rebuilt for Python 3.13
* Sat Jun 01 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30-3
- Resolve #2284094 Fix preedit in Flatpak with new DBus unique name
- Add directory %%{_prefix}/lib/systemd/user/gnome-session.target.wants
- Add directory %%{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules
* Fri May 24 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30-2
- Resolve #2252227 Fix display buffer overflow
- Change IBus unique name to :1.0 from IBUS_SERVICE_IBUS
* Thu May 02 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30-1
- Bump to 1.5.30
* Fri Apr 12 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30~rc3-2
- New sub package ibus-xinit for RHEL not to depend on xorg-x11-xinit
* Tue Apr 02 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30~rc3-1
- Delete upstreamed patches
* Mon Mar 25 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30~rc2-2
- Fix Super modifier in IBusEngine
- Replace deprecated pygobject3-devel with python3-gobject-devel
* Fri Mar 22 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30~rc2-1
- Add some bug fixes & translation updates
* Wed Feb 28 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30~rc1-1
- Add some bug fixes & translation updates
* Tue Feb 13 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.30~beta1-1
- Implement ibus start/restart for Plasma Wayland
- Show preferences menu item in activate menu in Plasma Wayland
- Fix typing freeze with barcode reader
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.29~rc2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.29~rc2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Dec 21 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc2-6
- Fix game control keys with language layout
* Fri Dec 15 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc2-5
- Refactor object initialization
- Fix some warnings
* Tue Dec 05 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc2-4
- Complete preedit signals for PostProcessKeyEvent
* Sat Nov 25 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc2-3
- Resolve #2188800 Error handling with display == null
- Enhance #2237486 Implement preedit color in Plasma Wayland
* Wed Nov 15 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc2-2
- Call strdup() after g_return_if_fail() in im-ibus.so
* Thu Nov 09 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc2-1
- Bump to 1.5.29-rc2
* Wed Oct 25 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc1-6
- Add preedit D-Bus signals to PostProcessKeyEvent
* Mon Oct 23 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc1-5
- Add DeleteSurroundingText to PostProcessKeyEvent
* Sat Sep 30 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc1-4
- Enhance #2237486 Implement preedit color in Plasma Wayland
- Part-of #2240490 Eacute with CapsLock in Plasma Wayland only
- Revert dnf5 to dnf in autogen
- Test fix #2239633 g_list_remove() in ibus-portal SIGSEGV
* Thu Sep 07 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc1-3
- Resolves #2237486 Implement preedit color in Plasma Wayland
* Tue Aug 22 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc1-2
- Resolves #2233527 Add IMSETTINGS_IGNORE_SESSION=KDE-wayland in ibus.conf
* Tue Aug 22 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc1-1
- Bump to 1.5.29-rc1
* Mon Aug 21 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~beta2-3
- Add ibus_panel_condition
* Fri Aug 18 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~beta2-2
- Separate ibus-ui-gtk3 as ibus-panel sub package depended on libdbusmenu
- Update autogen.sh for Fedora 39
- Fix cursor position with GTK4 in Xorg
* Tue Aug 08 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~beta2-1
- Distinguish Arabic XKB and Keypad XKB options
* Thu Aug 03 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~beta1-2
- Fix some source tests
- Fix configure --disable-appindicator
- Fix typo in src/ibusservice.h
* Fri Jul 28 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~beta1-1
- Implement Plasma Wayland
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.28-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jul 12 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-13
- Fix sync ibus_input_context_process_key_event() #3
* Sun Jul 09 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-12
- Fix sync ibus_input_context_process_key_event() #2
* Fri Jul 07 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-11
- Fix sync ibus_input_context_process_key_event()
* Wed Jul 05 2023 Python Maint <python-maint@redhat.com> - 1.5.28-10
- Rebuilt for Python 3.12
* Wed Jul 05 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-9
- Delete upstreamed ibus-xx-cross-compile.patch
- Fix alive ibus-x11 with `Xephyr -query`
- Fix missing ibusenumtypes.h with parallel build
- Fix to build libibus-1.0.la twice
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 1.5.28-8
- Rebuilt for Python 3.12
* Sun Jun 11 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-7
- Delete GZipped man files
- Resolves #2213145 Unselect Add button in Select Input Method dialog in setup
- Fix unaligned accesses in ibuscomposetable
* Fri May 26 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-6
- Resolves: #2195895 ibus_input_context_set_cursor_location(): ibus-x11 SIGSEGV
* Fri May 12 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-5
- Fix cross compiling with gen-internal-compose-table
* Wed May 10 2023 Tomas Popela <tpopela@redhat.com> - 1.5.28-5
- Drop BR on dbus-glib as the project is using already GDBus
* Tue May 02 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-4
- Migrate some upstream patches
* Fri Mar 17 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-3
- Resolves: #2178178 Fix emoji lookup table only but emojier GUI left
* Wed Mar 15 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-2
- Fix Key typing order in ibus-x11
- Disable while loop before call ForwardEventMessageProc() in ibus-x11
* Tue Feb 21 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.28-1
- Bump to 1.5.28
* Fri Feb 17 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-15
- Resolves: #2169205 Return error if D-Bus set/get property method is failed
* Wed Jan 25 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-14
- Add active-surrounding-text property to IBusEngine
- Refactor surrounding text warning & free focus-id tables
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.27-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jan 17 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-12
- Resolves: #2160957 Fix st_mode in struct stat of registry file with rpm -Va
* Thu Jan 12 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-11
- Refactor surrounding text warning
* Fri Jan 06 2023 Tomas Popela <tpopela@redhat.com> - 1.5.27-10
- Don't build GTK 2 content for RHEL 10 as GTK 2 won't be there
* Thu Jan 05 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-9
- Convert gtk_compose_seqs_compact to GResource
* Wed Dec 07 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-8
- Resolved: #2151344 SEGV with portal_context->owner in name_owner_changed()
* Fri Dec 02 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-7
- Add GitHub action patches
* Thu Nov 24 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-6
- Implement new process_key_event for ibus-x11
* Wed Nov 16 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-5
- Migrate license tag to SPDX
* Thu Nov 03 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-4
- Resolves: #2081055 Avoid to unref m_engines with double run
* Mon Sep 19 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-3
- Update ibus_input_context_set_surrounding_text for a global IC
- Fix CI
* Fri Sep 16 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-2
- Resolves: #2093313 Stop many warnings of surrounding text
- Fix other surrounding text issues
* Tue Aug 23 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.27-1
- Bump to 1.5.27
* Thu Aug 18 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-17
- Resolves: #2119020 Require gettext-runtime instead of gettext for ibus-devel
* Fri Aug 12 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-16
- Revert Emoji shortcut key to Super-period
* Fri Jul 29 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-15
- Enhance Xutf8TextListToTextProperty in ibus-x11
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.26-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jul 07 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-13
- Add IBUS_CAP_OSK to IBusCapabilite
- Update ibus restart for --service-file option
- Update manpage for ibus im-module command
- Implement new process_key_event for GTK4
- Add focus_in_id()/focus_out_id() class methods in IBusEngine
* Wed Jun 29 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-12
- Add ibus im-module command
* Sat Jun 25 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-11
- Enable custome theme
- Fix ibus restart for GNOME desktop
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.5.26-10
- Rebuilt for Python 3.11
* Sat Jun 11 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-9
- Resolves: #2088656 Revise XKB engine panel menu in Plasma Wayland
* Thu Jun 02 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-8
- Resolves: #2088656 Hide XKB engine but enable it in Plasma Wayland
* Wed May 25 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-7
- Update xkb-latin-layouts gsettings
* Mon May 23 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-6
- Resolves: #1936777 abrt ibus_bus_connect_async(): ibus-x11
* Wed Apr 20 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-4
- Resolves: #2076596 Disable XKB engines in Plasma Wayland
* Thu Mar 31 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-3
- Fix refcounting issues in IBusText & IBusProperty
* Mon Mar 28 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-2
- Update ibus-desktop-testing-runner to always run ibus-daemon directly
* Mon Mar 14 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-1
- Bump to 1.5.26
- Revert CCedilla change for pt-BR
* Fri Mar 04 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-13
- Check XDG_SESSION_DESKTOP for Plasma desktop
* Tue Mar 01 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-12
- Fix algorithm dead keys
* 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
- Add systemd unit file
* Thu Feb 03 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-9
- Change XKB layout string color in panel
- Add Ctrl-semicolon to Emoji shortcut key
- Fix unref problems with floating references
- Update man page for Emoji shortcut key
- Add IBUS_INPUT_HINT_PRIVATE for browser private mode
- mkdir socket dirs instead of socket paths
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.25-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Jan 18 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-7
- Update and fix typo in autostart scripts
* Fri Dec 03 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-6
- Check mtime of entity compose file instead of one of symlink file
- Disable emoji shortcut key with no-emoji hint
- Resolves: #2026540 Own %%pkgcache directory
* Fri Oct 29 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-5
- Resolves: #1942970 Clear Emoijer preedit/lookup popup between applications
* Mon Sep 06 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-4
- Clear preedit with mouse click and GTK4 applications
* Wed Sep 01 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-3
- Fix wrong cursor location in gtk3
* Fri Aug 27 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-2
- Add --screendump option in ibus-desktop-testing-runner
* Fri Aug 20 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.25-1
- Bump to 1.5.25. Related: rhbz#1995528
- Bump to 1.5.25
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.5.24-8
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Mon Aug 09 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-13
- Enable sync process in GTK4
* Tue Jun 22 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-7
- Use transfiletriggerin for ibus write-cache. Related: rhbz#1963071
- Add gating.yaml
* Mon Jul 26 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-12
- Search language name in engine list in ibus-setup
- Set Multi_key to 0xB7 in compose preedit
- Make Compose preedit less intrusive
* Wed May 26 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-6
- Fix minor covscan reviews. Related: rhbz#1963071
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.24-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri May 21 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-5
- Fix covscan reviews. Related: rhbz#1963071
* Thu Jul 15 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-10
- Support include directive in user compose file
- Set Ctrl-period to default Emoji shortcut key
- Implement ibus_im_context_set_surrounding_with_selection()
* Tue Jun 29 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-9
- Delete G_MESSAGES_DEBUG for gsettings output
* Mon Jun 28 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-8
- Depend on gnome-shell-extension-no-overview for CI
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.5.24-4
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Thu Jun 17 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-7
- Use transfiletriggerin and transfiletriggerpostun
- Change mutter to no-overview gnome-shell in CI
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.5.24-6
- Rebuilt for Python 3.10
* Wed May 26 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-5
- Fix minor covscan reviews
* Fri May 21 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-4
- Fix covscan reviews
- Implement ibus_im_context_set_surrounding_with_selection()
* Sat Mar 20 2021 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.24-3
- Don't output FAIL if the actual failure is 0 for Fedora CI

Loading…
Cancel
Save