diff options
author | Sébastien Wilmet <swilmet@gnome.org> | 2015-08-16 17:44:50 +0200 |
---|---|---|
committer | Sébastien Wilmet <swilmet@gnome.org> | 2015-08-16 18:07:32 +0200 |
commit | 02f930c5747d7c68b7e17bf3a927e2413fa12bf7 (patch) | |
tree | 4a86c95706133c796a2177f186a323408a647d24 /gtksourceview | |
parent | fbbb2472aee689af814c7f3c9301553fcab89f7d (diff) | |
download | gtksourceview-02f930c5747d7c68b7e17bf3a927e2413fa12bf7.tar.gz |
view: fix bug in smart-backspace
" |text" -> do a smart-backspace here didn't work.
Diffstat (limited to 'gtksourceview')
-rw-r--r-- | gtksourceview/gtksourceview.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c index dc1d958b..f2144edf 100644 --- a/gtksourceview/gtksourceview.c +++ b/gtksourceview/gtksourceview.c @@ -4068,7 +4068,7 @@ gtk_source_view_do_smart_backspace (GtkSourceView *view, GtkTextBuffer *buffer; GtkTextIter insert; GtkTextIter end; - GtkTextIter tmp; + GtkTextIter iter; guint visual_column; gint indent_width; gint tab_width; @@ -4098,25 +4098,19 @@ gtk_source_view_do_smart_backspace (GtkSourceView *view, } } - /* if the line isn't empty up to our cursor, ignore */ - tmp = insert; - while (TRUE) + /* If the line isn't empty up to our cursor, ignore. */ + iter = insert; + gtk_text_iter_set_line_offset (&iter, 0); + while (gtk_text_iter_compare (&iter, &insert) < 0) { - gunichar ch; + gunichar ch = gtk_text_iter_get_char (&iter); - ch = gtk_text_iter_get_char (&tmp); - - if ((ch != 0) && !g_unichar_isspace (ch)) + if (!g_unichar_isspace (ch)) { return FALSE; } - if (gtk_text_iter_starts_line (&tmp)) - { - break; - } - - gtk_text_iter_backward_char (&tmp); + gtk_text_iter_forward_char (&iter); } /* |