imwayland: Return limited preedit attributes

It should not matter, but it is the right thing to
do to limit the preedit attributes to the length
of the preedit text.
This commit is contained in:
Matthias Clasen
2021-02-17 22:57:41 -05:00
parent 05fe2441a7
commit da71a37945

View File

@@ -606,13 +606,23 @@ gtk_im_context_wayland_get_preedit_string (GtkIMContext *context,
if (attrs)
{
PangoAttribute *attr;
guint len = strlen (preedit_str);
if (!*attrs)
*attrs = pango_attr_list_new ();
pango_attr_list_insert (*attrs,
pango_attr_underline_new (PANGO_UNDERLINE_SINGLE));
attr = pango_attr_underline_new (PANGO_UNDERLINE_SINGLE);
attr->start_index = 0;
attr->end_index = len;
pango_attr_list_insert (*attrs, attr);
/* enable fallback, since IBus will send us things like ⎄ */
pango_attr_list_insert (*attrs,
pango_attr_fallback_new (TRUE));
attr = pango_attr_fallback_new (TRUE);
attr->start_index = 0;
attr->end_index = len;
pango_attr_list_insert (*attrs, attr);
if (context_wayland->current_preedit.cursor_begin
!= context_wayland->current_preedit.cursor_end)
{