[gtksourceview/wip/smart-backspace: 2/2] view: bug fix and improvements of do_smart_backspace()



commit 67339bd16c37ec10324cb1a15b96b87c72225041
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Sun Aug 16 16:31:12 2015 +0200

    view: bug fix and improvements of do_smart_backspace()

 gtksourceview/gtksourceview.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
index 1db25f3..9c26c2b 100644
--- a/gtksourceview/gtksourceview.c
+++ b/gtksourceview/gtksourceview.c
@@ -4090,12 +4090,15 @@ gtk_source_view_do_smart_backspace (GtkSourceView *view,
                 * end of the previous line. Anything more than that is non-obvious because it requires
                 * looking in a position other than where the cursor is.
                 */
-               if ((gtk_text_iter_get_line_offset (&insert) == 0) && (gtk_text_iter_get_line (&insert) > 0))
+               if ((gtk_text_iter_get_line_offset (&insert) == 0) &&
+                   (gtk_text_iter_get_line (&insert) > 0))
                {
-                       gtk_text_buffer_begin_user_action (buffer);
-                       gtk_text_iter_backward_char (&insert);
-                       gtk_text_buffer_delete (buffer, &insert, &end);
-                       gtk_text_buffer_end_user_action (buffer);
+                       gboolean default_editable;
+
+                       default_editable = gtk_text_view_get_editable (GTK_TEXT_VIEW (view));
+
+                       gtk_text_iter_backward_cursor_position (&insert);
+                       gtk_text_buffer_delete_interactive (buffer, &insert, &end, default_editable);
 
                        return TRUE;
                }
@@ -4109,7 +4112,7 @@ gtk_source_view_do_smart_backspace (GtkSourceView *view,
 
                ch = gtk_text_iter_get_char (&tmp);
 
-               if ((ch != 0) && !g_unichar_isspace (ch))
+               if ((ch != '\0') && !g_unichar_isspace (ch))
                {
                        return FALSE;
                }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]