diff --git a/ChangeLog b/ChangeLog index a8bbe98bbd..3fee684f41 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Oct 22 13:25:25 2004 Owen Taylor + + * gtk/gtktextbuffer.c (gtk_text_buffer_backspace): Fix + backspacing on the empty last line of a buffer + (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=136840, + Dan Williams) + 2004-10-22 Matthias Clasen * gtk/gtkdnd.c: Document how to use info with text/image diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index a8bbe98bbd..3fee684f41 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +Fri Oct 22 13:25:25 2004 Owen Taylor + + * gtk/gtktextbuffer.c (gtk_text_buffer_backspace): Fix + backspacing on the empty last line of a buffer + (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=136840, + Dan Williams) + 2004-10-22 Matthias Clasen * gtk/gtkdnd.c: Document how to use info with text/image diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index a8bbe98bbd..3fee684f41 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,10 @@ +Fri Oct 22 13:25:25 2004 Owen Taylor + + * gtk/gtktextbuffer.c (gtk_text_buffer_backspace): Fix + backspacing on the empty last line of a buffer + (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=136840, + Dan Williams) + 2004-10-22 Matthias Clasen * gtk/gtkdnd.c: Document how to use info with text/image diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index a8bbe98bbd..3fee684f41 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,10 @@ +Fri Oct 22 13:25:25 2004 Owen Taylor + + * gtk/gtktextbuffer.c (gtk_text_buffer_backspace): Fix + backspacing on the empty last line of a buffer + (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=136840, + Dan Williams) + 2004-10-22 Matthias Clasen * gtk/gtkdnd.c: Document how to use info with text/image diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index 814cf8057d..8d822ad356 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -3423,8 +3423,17 @@ gtk_text_buffer_backspace (GtkTextBuffer *buffer, end = *iter; attrs = _gtk_text_buffer_get_line_log_attrs (buffer, &start, NULL); - offset = gtk_text_iter_get_line_offset (&start); - backspace_deletes_character = attrs[offset].backspace_deletes_character; + + /* For no good reason, attrs is NULL for the empty last line in + * a buffer. Special case that here. (#156164) + */ + if (attrs) + { + offset = gtk_text_iter_get_line_offset (&start); + backspace_deletes_character = attrs[offset].backspace_deletes_character; + } + else + backspace_deletes_character = FALSE; gtk_text_iter_backward_cursor_position (&start);