bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab1


From: Eli Zaretskii
Subject: bug#77961: 31.0.50; Rendering HTML email is very slow since commit #eab14d68b2e72b9a6b8b0cc67c9667c2bfbed4f5
Date: Tue, 22 Apr 2025 15:57:58 +0300

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: Iñigo Serna <inigoserna@gmx.com>,  Eli Zaretskii
>  <eliz@gnu.org>,
>   77961@debbugs.gnu.org
> Date: Tue, 22 Apr 2025 10:02:58 +0200
> 
> Could you please also check with this diff?
> 
> diff --git a/src/dispnew.c b/src/dispnew.c
> index 24bf975ef9f..40df078aea6 100644
> --- a/src/dispnew.c
> +++ b/src/dispnew.c
> @@ -504,13 +504,16 @@ adjust_glyph_matrix (struct window *w, struct 
> glyph_matrix *matrix, int x, int y
>  
>         while (row < end)
>           {
> -           row->glyphs[LEFT_MARGIN_AREA]
> -             = xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
> -                          dim.width, sizeof (struct glyph));
> -           /* 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));
> +           if (dim.width > matrix->matrix_w || new_rows)
> +             {
> +               row->glyphs[LEFT_MARGIN_AREA]
> +                 = xnrealloc (row->glyphs[LEFT_MARGIN_AREA],
> +                              dim.width, sizeof (struct glyph));
> +               /* 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));
> +             }

This means a very large matrix will not be downsized when possible.
Is that a good idea?  Maybe try replacing '>' with '!=' and see if it
also solves the problem?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]