mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-24 06:20:43 -08:00
Fix display artifacts when 'display' properties cover newlines
* src/xdisp.c (pos_visible_p): Set glyph_row of scratch iterators to NULL, to avoid producing glyphs while we figure out the layout. (Bug#44826)
This commit is contained in:
parent
2b1cec5592
commit
f425a774c2
1 changed files with 2 additions and 0 deletions
|
|
@ -1700,6 +1700,7 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y,
|
|||
from a display vector, we need to consume all of
|
||||
the glyphs from that display vector. */
|
||||
start_display (&it2, w, top);
|
||||
it2.glyph_row = NULL;
|
||||
move_it_to (&it2, charpos - 1, -1, -1, -1, MOVE_TO_POS);
|
||||
/* If we didn't get to CHARPOS - 1, there's some
|
||||
replacing display property at that position, and
|
||||
|
|
@ -1823,6 +1824,7 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y,
|
|||
of the display line where the display string
|
||||
begins. */
|
||||
start_display (&it3, w, top);
|
||||
it3.glyph_row = NULL;
|
||||
move_it_to (&it3, -1, 0, top_y, -1, MOVE_TO_X | MOVE_TO_Y);
|
||||
/* If it3_moved stays false after the 'while' loop
|
||||
below, that means we already were at a newline
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue