1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00

(expose_area): If row extends face to end of line,

write the whole line.
This commit is contained in:
Gerd Moellmann 1999-08-17 13:02:04 +00:00
parent 8f897821fc
commit 6fb13182e0

View file

@ -5173,31 +5173,40 @@ expose_area (w, row, r, area)
x = (window_box_width (w, LEFT_MARGIN_AREA)
+ window_box_width (w, TEXT_AREA));
/* Find the first glyph that must be redrawn. */
while (first < end
&& x + first->pixel_width < r->x)
{
x += first->pixel_width;
++first;
}
/* Find the last one. */
last = first;
first_x = x;
while (last < end
&& x < r->x + r->width)
{
x += last->pixel_width;
++last;
}
/* Repaint. */
if (last > first)
x_draw_glyphs (w, first_x, row, area,
first - row->glyphs[area],
last - row->glyphs[area],
if (area == TEXT_AREA && row->fill_line_p)
/* If row extends face to end of line write the whole line. */
x_draw_glyphs (w, x, row, area,
0, row->used[area],
row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT,
NULL, NULL, 0);
else
{
/* Find the first glyph that must be redrawn. */
while (first < end
&& x + first->pixel_width < r->x)
{
x += first->pixel_width;
++first;
}
/* Find the last one. */
last = first;
first_x = x;
while (last < end
&& x < r->x + r->width)
{
x += last->pixel_width;
++last;
}
/* Repaint. */
if (last > first)
x_draw_glyphs (w, first_x, row, area,
first - row->glyphs[area],
last - row->glyphs[area],
row->inverse_p ? DRAW_INVERSE_VIDEO : DRAW_NORMAL_TEXT,
NULL, NULL, 0);
}
}