34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
From: Carlos Garnacho <carlosg@gnome.org>
|
|
Date: Tue, 6 Sep 2022 21:55:13 +0200
|
|
Subject: gtktextview: Also reset IM context after IM surrounding text
|
|
deletion
|
|
|
|
When the IM commands the GtkText to delete text, the cursor position
|
|
would change, and so would the surrounding text. Reset the IM context
|
|
so that these updates are properly picked up by the IM.
|
|
|
|
Fixes backspace key behavior in the GNOME Shell OSK, since that relies
|
|
on the surrounding text being properly updated for the next iteration.
|
|
|
|
Origin: upstream, 3.24.35, commit:a88e848306acba018e2bd1c5d9c74bcf6e33eb7f
|
|
---
|
|
gtk/gtktextview.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
|
|
index 57dd199..e6b4d0a 100644
|
|
--- a/gtk/gtktextview.c
|
|
+++ b/gtk/gtktextview.c
|
|
@@ -9240,8 +9240,9 @@ gtk_text_view_delete_surrounding_handler (GtkIMContext *context,
|
|
gtk_text_iter_forward_chars (&start, offset);
|
|
gtk_text_iter_forward_chars (&end, offset + n_chars);
|
|
|
|
- gtk_text_buffer_delete_interactive (priv->buffer, &start, &end,
|
|
- priv->editable);
|
|
+ if (gtk_text_buffer_delete_interactive (priv->buffer, &start, &end,
|
|
+ priv->editable))
|
|
+ gtk_im_context_reset (context);
|
|
|
|
return TRUE;
|
|
}
|