Backport fix for preedit cursor position bug (#1812449)
This commit is contained in:
parent
83373997de
commit
ba75e27d37
@ -0,0 +1,42 @@
|
|||||||
|
From db9b60cc6357539d0deefd9ded236b1dd302d4a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Carlos Garnacho <carlosg@gnome.org>
|
||||||
|
Date: Tue, 17 Mar 2020 16:11:57 +0100
|
||||||
|
Subject: [PATCH] wayland: Represent preedit string cursor offset in bytes
|
||||||
|
|
||||||
|
Both IBus and ClutterInputFocus work in character offsets for the cursor
|
||||||
|
position in the preedit string. However the zwp_text_input protocol does
|
||||||
|
define the preedit string cursor offset to be in bytes.
|
||||||
|
|
||||||
|
Fixes client bugs in representing the caret within the preedit string,
|
||||||
|
as we were clearly giving the wrong offset.
|
||||||
|
|
||||||
|
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2517
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1132
|
||||||
|
---
|
||||||
|
src/wayland/meta-wayland-text-input.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/wayland/meta-wayland-text-input.c b/src/wayland/meta-wayland-text-input.c
|
||||||
|
index ee9b895cb..deff44c1b 100644
|
||||||
|
--- a/src/wayland/meta-wayland-text-input.c
|
||||||
|
+++ b/src/wayland/meta-wayland-text-input.c
|
||||||
|
@@ -207,12 +207,14 @@ meta_wayland_text_input_focus_set_preedit_text (ClutterInputFocus *focus,
|
||||||
|
{
|
||||||
|
MetaWaylandTextInput *text_input;
|
||||||
|
struct wl_resource *resource;
|
||||||
|
+ gsize pos;
|
||||||
|
|
||||||
|
text_input = META_WAYLAND_TEXT_INPUT_FOCUS (focus)->text_input;
|
||||||
|
+ pos = g_utf8_offset_to_pointer (text, cursor) - text;
|
||||||
|
|
||||||
|
wl_resource_for_each (resource, &text_input->focus_resource_list)
|
||||||
|
{
|
||||||
|
- zwp_text_input_v3_send_preedit_string (resource, text, cursor, cursor);
|
||||||
|
+ zwp_text_input_v3_send_preedit_string (resource, text, pos, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
meta_wayland_text_input_focus_defer_done (focus);
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
10
mutter.spec
10
mutter.spec
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
Name: mutter
|
Name: mutter
|
||||||
Version: 3.36.0
|
Version: 3.36.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Window and compositing manager based on Clutter
|
Summary: Window and compositing manager based on Clutter
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -18,6 +18,11 @@ Source0: http://download.gnome.org/sources/%{name}/3.36/%{name}-%{version}
|
|||||||
|
|
||||||
# Work-around for OpenJDK's compliance test
|
# Work-around for OpenJDK's compliance test
|
||||||
Patch0: 0001-window-actor-Special-case-shaped-Java-windows.patch
|
Patch0: 0001-window-actor-Special-case-shaped-Java-windows.patch
|
||||||
|
# Fix preedit string cursor position bug
|
||||||
|
# https://gitlab.gnome.org/GNOME/gtk/issues/2517
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1812449
|
||||||
|
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1132
|
||||||
|
Patch1: 0001-wayland-Represent-preedit-string-cursor-offset-in-by.patch
|
||||||
|
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
BuildRequires: pango-devel
|
BuildRequires: pango-devel
|
||||||
@ -163,6 +168,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
|
|||||||
%{_datadir}/mutter-%{mutter_api_version}/tests
|
%{_datadir}/mutter-%{mutter_api_version}/tests
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Mar 23 2020 Adam Williamson <awilliam@redhat.com> - 3.36.0-2
|
||||||
|
- Backport fix for preedit cursor position bug (#1812449)
|
||||||
|
|
||||||
* Sat Mar 07 2020 Florian Müllner <fmuellner@redhat.com> - 3.36.0-1
|
* Sat Mar 07 2020 Florian Müllner <fmuellner@redhat.com> - 3.36.0-1
|
||||||
- Update to 3.36.0
|
- Update to 3.36.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user