diff options
author | Matthias Clasen <matthiasc@src.gnome.org> | 2001-08-07 20:56:48 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2001-08-07 20:56:48 +0000 |
commit | 4c44499b3feed362dba9debc9ff248713a960757 (patch) | |
tree | 2bbc1b19bc97fa0bfad8f5b35f919dcefb6b30b7 /gtk/gtktextdisplay.c | |
parent | f9cc44268e73e108d09ff8bf3a35f358b2daa3fb (diff) | |
download | gtk+-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.c | 8 |
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); |