From 19264b6912a111cfe426063ca431d202817f747d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 22 May 2026 12:29:37 -0700 Subject: [PATCH] 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. --- src/dispnew.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index 7930fa59968..fb313bfd1af 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -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