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

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

bug#59306: 29.0.50; Resurrected bug?


From: Po Lu
Subject: bug#59306: 29.0.50; Resurrected bug?
Date: Mon, 21 Nov 2022 08:34:49 +0800
User-agent: Gnus/5.13 (Gnus v5.13)

Dmitry Gutov <dgutov@yandex.ru> writes:

> On 20.11.2022 02:36, Po Lu via Bug reports for GNU Emacs, the Swiss
> army knife of text editors wrote:
>> Dmitry Gutov<dgutov@yandex.ru>  writes:
>> 
>>> No change since the last test I tried: fonts seem fine, but the frame
>>> size is jumping. I even did 'make bootstrap' to be doubly sure.
>> Thanks.  Could you place a breakpoint on `apply_xft_settings' before
>> starting "emacs -Q", step through it, and try to find out what causes
>> the `changed' variable to be set to true?
>
> Apparently it's this part:
>
> #ifdef FC_HINT_STYLE
>   if ((settings->seen & SEEN_HINTSTYLE) != 0
>       && oldsettings.hintstyle != settings->hintstyle)
>     {
>       FcPatternDel (pat, FC_HINT_STYLE);
>       FcPatternAddInteger (pat, FC_HINT_STYLE, settings->hintstyle);
>       changed = true;
>       oldsettings.hintstyle = settings->hintstyle;
>     }
> #endif
>
> Here's the relevant part of the gdb log, since I don't have much
> experience with it. The assignment statement itself seems to be
> missing from the stepping, but 'changed' became true after:
>
> (gdb) n
> 842       FcPatternGetDouble (pat, FC_DPI, 0, &oldsettings.dpi);
> (gdb) p changed
> $2 = false
> (gdb) n
> 844       if ((settings->seen & SEEN_AA) != 0 && oldsettings.aa !=
> settings->aa)
> (gdb) n
> 852       if ((settings->seen & SEEN_HINTING) != 0
> (gdb) n
> 860       if ((settings->seen & SEEN_RGBA) != 0 && oldsettings.rgba !=
> settings->rgba)
> (gdb) n
> 869       if ((settings->seen & SEEN_LCDFILTER) != 0
> (gdb) n
> 879       if ((settings->seen & SEEN_HINTSTYLE) != 0
> (gdb) n
> 882           FcPatternDel (pat, FC_HINT_STYLE);
> (gdb) n
> 883           FcPatternAddInteger (pat, FC_HINT_STYLE, settings->hintstyle);
> (gdb) n
> 885           oldsettings.hintstyle = settings->hintstyle;
> (gdb) n
> 894       oldsettings.dpi = dpyinfo->resx;
> (gdb) p changed
> $3 = true

Thanks.  That's quite annoying, I guess Cairo isn't reporting the
default hint style to us either.

I can't think of a good solution off-hand, please give me some more
time.




reply via email to

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