summaryrefslogtreecommitdiff
path: root/gtk/gtktextdisplay.c
diff options
context:
space:
mode:
authorMatthias Clasen <matthiasc@src.gnome.org>2001-08-07 20:56:48 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2001-08-07 20:56:48 +0000
commit4c44499b3feed362dba9debc9ff248713a960757 (patch)
tree2bbc1b19bc97fa0bfad8f5b35f919dcefb6b30b7 /gtk/gtktextdisplay.c
parentf9cc44268e73e108d09ff8bf3a35f358b2daa3fb (diff)
downloadgtk+-4c44499b3feed362dba9debc9ff248713a960757.tar.gz
gtk/gtktextdisplay.c (render_para, gtk_text_layout_draw): Fix
some off-by-one issues, fixing selection of line-ends. (#50323)
Diffstat (limited to 'gtk/gtktextdisplay.c')
-rw-r--r--gtk/gtktextdisplay.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gtk/gtktextdisplay.c b/gtk/gtktextdisplay.c
index bf5c1cdec3..9149886c49 100644
--- a/gtk/gtktextdisplay.c
+++ b/gtk/gtktextdisplay.c
@@ -539,7 +539,7 @@ render_para (GdkDrawable *drawable,
y + PANGO_PIXELS (baseline),
FALSE);
- if (selection_start_index < byte_offset + line->length &&
+ if (selection_start_index <= byte_offset + line->length &&
selection_end_index > byte_offset) /* Some selected */
{
GdkRegion *clip_region = get_selected_clip (render_state, layout, line,
@@ -746,7 +746,7 @@ gtk_text_layout_draw (GtkTextLayout *layout,
{
GtkTextIter line_start, line_end;
gint byte_count;
-
+
gtk_text_layout_get_iter_at_line (layout,
&line_start,
line, 0);
@@ -757,8 +757,8 @@ gtk_text_layout_draw (GtkTextLayout *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)
+ if (gtk_text_iter_compare (&selection_start, &line_end) <= 0 &&
+ gtk_text_iter_compare (&selection_end, &line_start) >= 0)
{
if (gtk_text_iter_compare (&selection_start, &line_start) >= 0)
selection_start_index = gtk_text_iter_get_line_index (&selection_start);