Files
gtk3/debian/patches/gtktextview-Also-reset-IM-context-after-IM-surrounding-te.patch
Simon McVittie d03dca1d46 d/patches: Update to upstream gtk-3-24 branch commit 3.24.34-204-g2fcc114870
Windows- and macOS-specific changes excluded.
2022-11-15 11:28:51 +00:00

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;
}