diff options
Diffstat (limited to 'gtk/gtktextdisplay.c')
-rw-r--r-- | gtk/gtktextdisplay.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/gtk/gtktextdisplay.c b/gtk/gtktextdisplay.c index 60e8714fb8..3782cb8250 100644 --- a/gtk/gtktextdisplay.c +++ b/gtk/gtktextdisplay.c @@ -75,7 +75,9 @@ */ #include "gtktextdisplay.h" -#include "gtktextiterprivate.h" +/* DO NOT go putting private headers in here. This file should only + * use the semi-public headers, as with gtktextview.c. + */ #include <pango/pango.h> @@ -741,14 +743,17 @@ gtk_text_layout_draw (GtkTextLayout *layout, if (have_selection) { GtkTextIter line_start, line_end; - gint byte_count = _gtk_text_line_byte_count (line); - - _gtk_text_btree_get_iter_at_line (_gtk_text_buffer_get_btree (layout->buffer), - &line_start, - line, 0); - _gtk_text_btree_get_iter_at_line (_gtk_text_buffer_get_btree (layout->buffer), - &line_end, - line, byte_count - 1); + gint byte_count; + + gtk_text_layout_get_iter_at_line (layout, + &line_start, + line, 0); + byte_count = gtk_text_iter_get_bytes_in_line (&line_start); + + /* FIXME the -1 assumes a newline I think */ + gtk_text_layout_get_iter_at_line (layout, + &line_end, + line, byte_count - 1); if (gtk_text_iter_compare (&selection_start, &line_end) < 0 && gtk_text_iter_compare (&selection_end, &line_start) > 0) |