]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktextdisplay.c
Fix highlighting of selection wrt. to empty lines. (#90435, #90582)
[~andy/gtk] / gtk / gtktextdisplay.c
index e531a4652653851fdb71222c9d178cdd64f40e5b..4be120d80cf9314ffdc085da25538d55688c6215 100644 (file)
@@ -803,7 +803,8 @@ gtk_text_layout_draw (GtkTextLayout *layout,
                                                 &line_start,
                                                 line, 0);
               line_end = line_start;
-              gtk_text_iter_forward_to_line_end (&line_end);
+             if (!gtk_text_iter_ends_line (&line_end))
+               gtk_text_iter_forward_to_line_end (&line_end);
               byte_count = gtk_text_iter_get_line_index (&line_end);     
 
               if (gtk_text_iter_compare (&selection_start, &line_end) <= 0 &&
@@ -817,7 +818,7 @@ gtk_text_layout_draw (GtkTextLayout *layout,
                   if (gtk_text_iter_compare (&selection_end, &line_end) <= 0)
                     selection_end_index = gtk_text_iter_get_line_index (&selection_end);
                   else
-                    selection_end_index = byte_count;
+                    selection_end_index = MAX(byte_count, 1);
                 }
             }