Resolves: #1936777 abrt ibus_bus_connect_async(): ibus-x11

This commit is contained in:
Takao Fujiwara 2022-05-23 22:14:12 +09:00
parent b42011fc2a
commit a9da1c08f3
2 changed files with 18 additions and 12 deletions

View File

@ -1,6 +1,6 @@
From 41c325dfb32269c9aadfeedb4df44656aac4d883 Mon Sep 17 00:00:00 2001 From fd69784c0ed45fe11b801f3a563231735920896a Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1@gmail.com> From: fujiwarat <takao.fujiwara1@gmail.com>
Date: Fri, 20 Nov 2020 09:53:54 +0900 Date: Mon, 23 May 2022 21:50:16 +0900
Subject: [PATCH] Fix SEGV in bus_panel_proxy_focus_in() Subject: [PATCH] Fix SEGV in bus_panel_proxy_focus_in()
rhbz#1350291 SEGV in BUS_IS_CONNECTION(skip_connection) in rhbz#1350291 SEGV in BUS_IS_CONNECTION(skip_connection) in
@ -21,7 +21,8 @@ If the mutex is not unlocked, g_mutex_clear() causes assert.
rhbz#1767691 SEGV in client/x11/main.c:_sighandler(). rhbz#1767691 SEGV in client/x11/main.c:_sighandler().
Do not call atexit functions in _sighandler(). Do not call atexit functions in _sighandler().
rhbz#1795499 SEGV in ibus_bus_get_bus_address() because of no _bus->priv. 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. _changed_cb() should not be called after ibus_bus_destroy() is called.
rhbz#1771238 SEGV in assert(m_loop == null) in switcher.vala. rhbz#1771238 SEGV in assert(m_loop == null) in switcher.vala.
@ -43,10 +44,10 @@ BUG=rhbz#1797120
bus/dbusimpl.c | 47 ++++++++++++++++++++++++--- bus/dbusimpl.c | 47 ++++++++++++++++++++++++---
bus/engineproxy.c | 51 ++++++++++++++++++++++------- bus/engineproxy.c | 51 ++++++++++++++++++++++-------
client/x11/main.c | 8 ++++- client/x11/main.c | 8 ++++-
src/ibusbus.c | 5 +++ src/ibusbus.c | 6 ++++
ui/gtk3/extension.vala | 4 +++ ui/gtk3/extension.vala | 4 +++
ui/gtk3/switcher.vala | 73 +++++++++++++++++++++++++----------------- ui/gtk3/switcher.vala | 73 +++++++++++++++++++++++++-----------------
6 files changed, 141 insertions(+), 47 deletions(-) 6 files changed, 142 insertions(+), 47 deletions(-)
diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c
index 59787a80..af2fbde2 100644 index 59787a80..af2fbde2 100644
@ -238,10 +239,10 @@ index 2d98995c..bbbe5532 100644
/* FIXME: set destroy callback ? */ /* FIXME: set destroy callback ? */
g_task_return_pointer (data->task, engine, NULL); g_task_return_pointer (data->task, engine, NULL);
diff --git a/client/x11/main.c b/client/x11/main.c diff --git a/client/x11/main.c b/client/x11/main.c
index c9ee174d..768b91f0 100644 index fe30c1d6..49595b6d 100644
--- a/client/x11/main.c --- a/client/x11/main.c
+++ b/client/x11/main.c +++ b/client/x11/main.c
@@ -40,6 +40,7 @@ @@ -45,6 +45,7 @@
#include <iconv.h> #include <iconv.h>
#include <signal.h> #include <signal.h>
#include <stdlib.h> #include <stdlib.h>
@ -249,7 +250,7 @@ index c9ee174d..768b91f0 100644
#include <getopt.h> #include <getopt.h>
@@ -1104,7 +1105,12 @@ _atexit_cb () @@ -1121,7 +1122,12 @@ _atexit_cb ()
static void static void
_sighandler (int sig) _sighandler (int sig)
{ {
@ -264,10 +265,10 @@ index c9ee174d..768b91f0 100644
static void static void
diff --git a/src/ibusbus.c b/src/ibusbus.c diff --git a/src/ibusbus.c b/src/ibusbus.c
index b7ffbb47..668c8a26 100644 index 47400cb8..c9fbe492 100644
--- a/src/ibusbus.c --- a/src/ibusbus.c
+++ b/src/ibusbus.c +++ b/src/ibusbus.c
@@ -689,6 +689,11 @@ ibus_bus_destroy (IBusObject *object) @@ -708,6 +708,12 @@ ibus_bus_destroy (IBusObject *object)
_bus = NULL; _bus = NULL;
if (bus->priv->monitor) { if (bus->priv->monitor) {
@ -276,6 +277,7 @@ index b7ffbb47..668c8a26 100644
+ */ + */
+ g_signal_handlers_disconnect_by_func (bus->priv->monitor, + g_signal_handlers_disconnect_by_func (bus->priv->monitor,
+ (GCallback) _changed_cb, bus); + (GCallback) _changed_cb, bus);
+ g_file_monitor_cancel (bus->priv->monitor);
g_object_unref (bus->priv->monitor); g_object_unref (bus->priv->monitor);
bus->priv->monitor = NULL; bus->priv->monitor = NULL;
} }
@ -399,5 +401,5 @@ index a4529c88..29a70dd5 100644
#if VALA_0_34 #if VALA_0_34
seat.ungrab(); seat.ungrab();
-- --
2.24.1 2.35.1

View File

@ -39,7 +39,7 @@
Name: ibus Name: ibus
Version: 1.5.26 Version: 1.5.26
Release: 4%{?dist} Release: 5%{?dist}
Summary: Intelligent Input Bus for Linux OS Summary: Intelligent Input Bus for Linux OS
License: LGPLv2+ License: LGPLv2+
URL: https://github.com/ibus/%name/wiki URL: https://github.com/ibus/%name/wiki
@ -54,6 +54,7 @@ Patch1: %{name}-1385349-segv-bus-proxy.patch
# Use mutter window manager in RHEL CI # Use mutter window manager in RHEL CI
Patch2: %{name}-xx-desktop-testing-mutter.patch Patch2: %{name}-xx-desktop-testing-mutter.patch
%endif %endif
Patch3: ibus-xx-debug.patch
BuildRequires: gettext-devel BuildRequires: gettext-devel
BuildRequires: libtool BuildRequires: libtool
@ -522,6 +523,9 @@ dconf update || :
%{_datadir}/installed-tests/ibus %{_datadir}/installed-tests/ibus
%changelog %changelog
* Mon May 23 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-5
- Resolves: #1936777 abrt ibus_bus_connect_async(): ibus-x11
* Wed Apr 20 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-4 * Wed Apr 20 2022 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.26-4
- Resolves: #2076596 Disable XKB engines in Plasma Wayland - Resolves: #2076596 Disable XKB engines in Plasma Wayland