emacs-devel
[Top][All Lists]
Advanced

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

Re: Crash with --enable-checking and some glyphs


From: Eli Zaretskii
Subject: Re: Crash with --enable-checking and some glyphs
Date: Sat, 27 Nov 2021 17:12:40 +0200

> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: rpluim@gmail.com,  emacs-devel@gnu.org
> Date: Sat, 27 Nov 2021 15:04:56 +0100
> 
>       if (it->char_to_display != '\n' && it->char_to_display != '\t')
>       {
>         it->nglyphs = 1;
> 
>         if (it->override_ascent >= 0)
>           {
>             it->ascent = it->override_ascent;
>             it->descent = it->override_descent;
>             boff = it->override_boff;
>           }
>         else
>           {
>             it->ascent = FONT_BASE (font) + boff;
>             it->descent = FONT_DESCENT (font) - boff;
>           }
> 
> And boff is 3 because of:
> 
>       boff = font->baseline_offset;
>       if (font->vertical_centering)
>       boff = VCENTER_BASELINE_OFFSET (font, it->f) - boff;
> 
> (gdb) print font->vertical_centering 
> $17 = true
> 
> 
> And we don't apply these sanity checks in this case:
> 
>                     /* These limitations are enforced by an
>                        assertion near the end of this function.  */
>                     if (it->ascent < 0)
>                       it->ascent = 0;
>                     if (it->descent < 0)
>                       it->descent = 0;

Right, I added a similar limitation, because I don't see what else
could we do in cases such as this one.  I do wonder why others didn't
see the same problem in a very similar build on the same system.



reply via email to

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