From 5ad1316b1ee11686bda63b224eacda33a2ef3e45 Mon Sep 17 00:00:00 2001 From: xdavidwu Date: Sun, 15 Dec 2019 19:19:54 +0800 Subject: [PATCH] imwayland: Fix get_preedit_string cursor position GtkIMContext get_preedit_string should return cursor position counted in characters, but cursor_begin here is counted in bytes. This add the missing conversion. --- modules/input/imwayland.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/input/imwayland.c b/modules/input/imwayland.c index 1c742713b4..7ebeb7d243 100644 --- a/modules/input/imwayland.c +++ b/modules/input/imwayland.c @@ -582,7 +582,8 @@ gtk_im_context_wayland_get_preedit_string (GtkIMContext *context, if (str) *str = g_strdup (preedit_str); if (cursor_pos) - *cursor_pos = context_wayland->current_preedit.cursor_begin; + *cursor_pos = g_utf8_strlen (preedit_str, + context_wayland->current_preedit.cursor_begin); if (attrs) {