Refactor object initialization
This commit is contained in:
parent
b10672f7c8
commit
93ea339c0f
212
ibus-HEAD.patch
212
ibus-HEAD.patch
@ -1410,3 +1410,215 @@ index 1b62f656..600526e5 100644
|
|||||||
--
|
--
|
||||||
2.41.0
|
2.41.0
|
||||||
|
|
||||||
|
From ac46d154e72fdc914e6d34ff1b251c8fcb70ce20 Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Thu, 7 Dec 2023 20:34:49 +0900
|
||||||
|
Subject: [PATCH] Refactor object initialization
|
||||||
|
|
||||||
|
- client/wayland: Make sure IBusWaylandIM->ibuscontext is NULL
|
||||||
|
when IBusWaylandIM->context is NULL.
|
||||||
|
|
||||||
|
- configure: Set some default help messages.
|
||||||
|
|
||||||
|
- ui/gtk3: Make sure to call an error message if display is NULL.
|
||||||
|
---
|
||||||
|
client/wayland/ibuswaylandim.c | 10 ++++++----
|
||||||
|
configure.ac | 18 +++++++++---------
|
||||||
|
ui/gtk3/panel.vala | 5 +----
|
||||||
|
3 files changed, 16 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/client/wayland/ibuswaylandim.c b/client/wayland/ibuswaylandim.c
|
||||||
|
index 9e8f651e..0430538f 100644
|
||||||
|
--- a/client/wayland/ibuswaylandim.c
|
||||||
|
+++ b/client/wayland/ibuswaylandim.c
|
||||||
|
@@ -115,6 +115,10 @@ struct wl_registry *_registry = NULL;
|
||||||
|
|
||||||
|
static gboolean _use_sync_mode = 1;
|
||||||
|
|
||||||
|
+static void input_method_deactivate
|
||||||
|
+ (void *data,
|
||||||
|
+ struct zwp_input_method_v1 *input_method,
|
||||||
|
+ struct zwp_input_method_context_v1 *context);
|
||||||
|
static GObject *ibus_wayland_im_constructor (GType type,
|
||||||
|
guint n_params,
|
||||||
|
GObjectConstructParam
|
||||||
|
@@ -1207,10 +1211,8 @@ input_method_activate (void *data,
|
||||||
|
|
||||||
|
g_return_if_fail (IBUS_IS_WAYLAND_IM (wlim));
|
||||||
|
priv = ibus_wayland_im_get_instance_private (wlim);
|
||||||
|
- if (priv->context) {
|
||||||
|
- zwp_input_method_context_v1_destroy (priv->context);
|
||||||
|
- priv->context = NULL;
|
||||||
|
- }
|
||||||
|
+ if (priv->context)
|
||||||
|
+ input_method_deactivate (data, input_method, context);
|
||||||
|
|
||||||
|
priv->serial = 0;
|
||||||
|
priv->context = context;
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 50b4a820..dc1410cc 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -233,7 +233,7 @@ AC_ARG_ENABLE(gtk4,
|
||||||
|
AS_HELP_STRING([--enable-gtk4],
|
||||||
|
[Build gtk4 im module]),
|
||||||
|
[enable_gtk4=$enableval],
|
||||||
|
- [enable_gtk4=no]
|
||||||
|
+ [enable_gtk4=yes]
|
||||||
|
)
|
||||||
|
AM_CONDITIONAL([ENABLE_GTK4], [test x"$enable_gtk4" = x"yes"])
|
||||||
|
|
||||||
|
@@ -276,8 +276,7 @@ if test x"$enable_gtk2" = x"yes"; then
|
||||||
|
|
||||||
|
gtk2_binary_version=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`
|
||||||
|
GTK2_IM_MODULEDIR="$libdir"/gtk-2.0/$gtk2_binary_version/immodules
|
||||||
|
-else
|
||||||
|
- enable_gtk2="no (disabled, use --enable-gtk2 to enable)"
|
||||||
|
+ enable_gtk2="yes (enabled, use --disable-gtk2 to disable)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x"$enable_gtk3" = x"yes"; then
|
||||||
|
@@ -297,7 +296,6 @@ if test x"$enable_gtk3" = x"yes"; then
|
||||||
|
gtk3_binary_version=`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`
|
||||||
|
GTK3_IM_MODULEDIR="$libdir"/gtk-3.0/$gtk3_binary_version/immodules
|
||||||
|
else
|
||||||
|
- enable_gtk3="no (disabled, use --enable-gtk3 to enable)"
|
||||||
|
enable_gdk3_wayland=no
|
||||||
|
fi
|
||||||
|
if test x"$enable_gdk3_wayland" != x"yes"; then
|
||||||
|
@@ -313,8 +311,7 @@ if test x"$enable_gtk4" = x"yes"; then
|
||||||
|
|
||||||
|
gtk4_binary_version=`$PKG_CONFIG --variable=gtk_binary_version gtk4`
|
||||||
|
GTK4_IM_MODULEDIR="$libdir"/gtk-4.0/$gtk4_binary_version/immodules
|
||||||
|
-else
|
||||||
|
- enable_gtk4="no (disabled, use --enable-gtk4 to enable)"
|
||||||
|
+ enable_gtk4="yes (enabled, use --disable-gtk4 to disable)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test x"$enable_xim" = x"yes"; then
|
||||||
|
@@ -331,8 +328,10 @@ if test x"$enable_xim" = x"yes"; then
|
||||||
|
gtk+-2.0
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
-else
|
||||||
|
- enable_xim="no (disabled, use --enable-xim to enable)"
|
||||||
|
+ enable_xim="yes (enabled, use --disable-xim to disable)"
|
||||||
|
+fi
|
||||||
|
+if test x"$enable_gtk3" = x"yes"; then
|
||||||
|
+ enable_gtk3="yes (enabled, use --disable-gtk3 to disable)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if $PKG_CONFIG --exists x11; then
|
||||||
|
@@ -363,8 +362,9 @@ if test x"$enable_wayland" = x"yes"; then
|
||||||
|
AC_SUBST(WAYLAND_PRTCLS_SUBDIR)
|
||||||
|
WAYLAND_SCANNER_RULES(['$(datadir)/$(WAYLAND_PRTCLS_SUBDIR)'])],
|
||||||
|
[AC_SUBST(wayland_scanner_rules)])
|
||||||
|
+ enable_wayland="yes (enabled, use --disable-wayland to disable)"
|
||||||
|
else
|
||||||
|
- enable_wayland="no (disabled, use --enable-wayland to enable)"
|
||||||
|
+ wayland_scanner_rules="./wayland-scanner.mk"
|
||||||
|
AC_SUBST(wayland_scanner_rules)
|
||||||
|
fi
|
||||||
|
|
||||||
|
diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
|
||||||
|
index 783ec842..233dd29c 100644
|
||||||
|
--- a/ui/gtk3/panel.vala
|
||||||
|
+++ b/ui/gtk3/panel.vala
|
||||||
|
@@ -111,10 +111,7 @@ class Panel : IBus.PanelService {
|
||||||
|
m_is_wayland_im = is_wayland_im;
|
||||||
|
|
||||||
|
#if USE_GDK_WAYLAND
|
||||||
|
- var display = Gdk.Display.get_default();
|
||||||
|
- Type instance_type = display.get_type();
|
||||||
|
- Type wayland_type = typeof(GdkWayland.Display);
|
||||||
|
- m_is_wayland = instance_type.is_a(wayland_type);
|
||||||
|
+ m_is_wayland = !BindingCommon.default_is_xdisplay();
|
||||||
|
#else
|
||||||
|
m_is_wayland = false;
|
||||||
|
warning("Checking Wayland is disabled");
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
||||||
|
From 8470873979e3435c29d98704f1ac7e1e47e9dc2f Mon Sep 17 00:00:00 2001
|
||||||
|
From: fujiwarat <takao.fujiwara1@gmail.com>
|
||||||
|
Date: Thu, 14 Dec 2023 23:55:42 +0900
|
||||||
|
Subject: [PATCH] ui/gtk3: Fix some warnings
|
||||||
|
|
||||||
|
- Try to disable Vala warnings with gtk_menu_shell_insert() workaround.
|
||||||
|
- Stop string_slice() warning with different language lengths.
|
||||||
|
---
|
||||||
|
ui/gtk3/panel.vala | 17 ++++++++++-------
|
||||||
|
ui/gtk3/switcher.vala | 4 +++-
|
||||||
|
2 files changed, 13 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
|
||||||
|
index 233dd29c..aa9e8664 100644
|
||||||
|
--- a/ui/gtk3/panel.vala
|
||||||
|
+++ b/ui/gtk3/panel.vala
|
||||||
|
@@ -1433,7 +1433,8 @@ class Panel : IBus.PanelService {
|
||||||
|
|
||||||
|
item = new Gtk.MenuItem.with_label(_("Preferences"));
|
||||||
|
item.activate.connect((i) => show_setup_dialog());
|
||||||
|
- m_sys_menu.append(item);
|
||||||
|
+ // https://gitlab.gnome.org/GNOME/gtk/-/issues/5870
|
||||||
|
+ m_sys_menu.insert(item, -1);
|
||||||
|
|
||||||
|
#if EMOJI_DICT
|
||||||
|
item = new Gtk.MenuItem.with_label(_("Emoji Choice"));
|
||||||
|
@@ -1448,22 +1449,23 @@ class Panel : IBus.PanelService {
|
||||||
|
*/
|
||||||
|
panel_extension(event);
|
||||||
|
});
|
||||||
|
- m_sys_menu.append(item);
|
||||||
|
+ // https://gitlab.gnome.org/GNOME/gtk/-/issues/5870
|
||||||
|
+ m_sys_menu.insert(item, -1);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
item = new Gtk.MenuItem.with_label(_("About"));
|
||||||
|
item.activate.connect((i) => show_about_dialog());
|
||||||
|
- m_sys_menu.append(item);
|
||||||
|
+ m_sys_menu.insert(item, -1);
|
||||||
|
|
||||||
|
- m_sys_menu.append(new Gtk.SeparatorMenuItem());
|
||||||
|
+ m_sys_menu.insert(new Gtk.SeparatorMenuItem(), -1);
|
||||||
|
|
||||||
|
item = new Gtk.MenuItem.with_label(_("Restart"));
|
||||||
|
item.activate.connect((i) => m_bus.exit(true));
|
||||||
|
- m_sys_menu.append(item);
|
||||||
|
+ m_sys_menu.insert(item, -1);
|
||||||
|
|
||||||
|
item = new Gtk.MenuItem.with_label(_("Quit"));
|
||||||
|
item.activate.connect((i) => m_bus.exit(false));
|
||||||
|
- m_sys_menu.append(item);
|
||||||
|
+ m_sys_menu.insert(item, -1);
|
||||||
|
|
||||||
|
m_sys_menu.show_all();
|
||||||
|
|
||||||
|
@@ -1488,7 +1490,8 @@ class Panel : IBus.PanelService {
|
||||||
|
// Show properties and IME switching menu
|
||||||
|
m_property_manager.create_menu_items(m_ime_menu);
|
||||||
|
|
||||||
|
- m_ime_menu.append(new Gtk.SeparatorMenuItem());
|
||||||
|
+ // https://gitlab.gnome.org/GNOME/gtk/-/issues/5870
|
||||||
|
+ m_ime_menu.insert(new Gtk.SeparatorMenuItem(), -1);
|
||||||
|
|
||||||
|
// Append IMEs
|
||||||
|
foreach (var engine in m_engines) {
|
||||||
|
diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
|
||||||
|
index e3fab8d9..26bded99 100644
|
||||||
|
--- a/ui/gtk3/switcher.vala
|
||||||
|
+++ b/ui/gtk3/switcher.vala
|
||||||
|
@@ -592,7 +592,9 @@ class Switcher : Gtk.Window {
|
||||||
|
int index = 0;
|
||||||
|
|
||||||
|
foreach (var saved_language in m_xkb_languages.get_values()) {
|
||||||
|
- if (language == saved_language[0:length])
|
||||||
|
+ // Duplicated langauge is EN, EN_2 for E.G.
|
||||||
|
+ if (length <= saved_language.length &&
|
||||||
|
+ language == saved_language[0:length])
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
|
|
||||||
Name: ibus
|
Name: ibus
|
||||||
Version: 1.5.29~rc2
|
Version: 1.5.29~rc2
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
Summary: Intelligent Input Bus for Linux OS
|
Summary: Intelligent Input Bus for Linux OS
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
URL: https://github.com/ibus/%name/wiki
|
URL: https://github.com/ibus/%name/wiki
|
||||||
@ -365,6 +365,7 @@ autoreconf -f -i -v
|
|||||||
--enable-introspection \
|
--enable-introspection \
|
||||||
--enable-install-tests \
|
--enable-install-tests \
|
||||||
%{nil}
|
%{nil}
|
||||||
|
make -C ui/gtk3 maintainer-clean-generic
|
||||||
|
|
||||||
%make_build
|
%make_build
|
||||||
|
|
||||||
@ -580,6 +581,10 @@ dconf update || :
|
|||||||
%{_datadir}/installed-tests/ibus
|
%{_datadir}/installed-tests/ibus
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
* Tue Dec 05 2023 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.29~rc2-4
|
||||||
- Complete preedit signals for PostProcessKeyEvent
|
- Complete preedit signals for PostProcessKeyEvent
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user