From: Matthias Clasen Date: Sat, 10 Jun 2023 13:03:10 +0000 (-0400) Subject: textview: Improve word navigation X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~163^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=46bb5837e20ca3802f205f72e953024ebe5389e3;p=gtk4.git textview: Improve word navigation Both Ctrl-Left and Ctrl-Backspace were failing to step over a non-word at the beginning of the line. Fix this to match GtkEntry behavior. Fixes: #737 --- diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index d2ca707b83..18aa13c99f 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -6477,7 +6477,10 @@ gtk_text_view_move_cursor (GtkTextView *text_view, count *= -1; if (count < 0) - gtk_text_iter_backward_visible_word_starts (&newplace, -count); + { + if (!gtk_text_iter_backward_visible_word_starts (&newplace, -count)) + gtk_text_iter_set_line_offset (&newplace, 0); + } else if (count > 0) { if (!gtk_text_iter_forward_visible_word_ends (&newplace, count)) @@ -6909,7 +6912,10 @@ gtk_text_view_delete_from_cursor (GtkTextView *text_view, if (count > 0) gtk_text_iter_forward_word_ends (&end, count); else if (count < 0) - gtk_text_iter_backward_word_starts (&start, 0 - count); + { + if (!gtk_text_iter_backward_word_starts (&start, 0 - count)) + gtk_text_iter_set_line_offset (&start, 0); + } break; case GTK_DELETE_WORDS: