summaryrefslogtreecommitdiff
path: root/gtk/gtktextdisplay.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtktextdisplay.c')
-rw-r--r--gtk/gtktextdisplay.c23
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)