adjust_glyph_matrix reallocation improvement

* src/dispnew.c (adjust_glyph_matrix):
Use xfree + xcalloc instead of xnrealloc + memset,
as there is no need to preserve the old contents.
This commit is contained in:
Paul Eggert 2026-05-22 12:29:37 -07:00
parent 64eb869b68
commit 19264b6912

View file

@ -500,16 +500,15 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
while (row < end)
{
/* Only realloc if matrix got wider or taller (bug#77961). */
/* Realloc if matrix got wider or taller (bug#77961). */
if (dim.width > matrix->matrix_w || new_rows)
{
row->glyphs[LEFT_MARGIN_AREA]
= xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
dim.width, sizeof (struct glyph));
xfree (row->glyphs[LEFT_MARGIN_AREA]);
row->glyphs[LEFT_MARGIN_AREA] = NULL;
/* We actually need to clear only the 'frame' member, but
it's easier to clear everything. */
memset (row->glyphs[LEFT_MARGIN_AREA], 0,
dim.width * sizeof (struct glyph));
row->glyphs[LEFT_MARGIN_AREA]
= xcalloc (dim.width, sizeof (struct glyph));
}
if ((row == matrix->rows + dim.height - 1