summaryrefslogtreecommitdiff
path: root/gtksourceview
diff options
context:
space:
mode:
authorSébastien Wilmet <swilmet@gnome.org>2015-08-16 17:44:50 +0200
committerSébastien Wilmet <swilmet@gnome.org>2015-08-16 18:07:32 +0200
commit02f930c5747d7c68b7e17bf3a927e2413fa12bf7 (patch)
tree4a86c95706133c796a2177f186a323408a647d24 /gtksourceview
parentfbbb2472aee689af814c7f3c9301553fcab89f7d (diff)
downloadgtksourceview-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.c22
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);
}
/*