GNU bug report logs -
#30874
Displaying char \x274C with Dejavu Sans Mono gives "X protocol error: BadLength (poly request too large or internal Xlib length error) on protocol request 138"
Previous Next
Reported by: Jan Synacek <jsynacek <at> redhat.com>
Date: Tue, 20 Mar 2018 10:26:01 UTC
Severity: important
Tags: fixed
Merged with 30045,
31547,
31758,
31801,
31936
Found in versions 26.1, 27.0.50, 25.3
Fixed in version 26.2
Done: Robert Pluim <rpluim <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Robert Pluim <rpluim <at> gmail.com>
>> Cc: 30874 <at> debbugs.gnu.org, jsynacek <at> redhat.com
>> Date: Sat, 31 Mar 2018 15:55:13 +0200
>>
>> Iʼm testing the following, which fixes the 20890 crash for me when
>> using Cairo.
>>
>> diff --git i/src/ftfont.c w/src/ftfont.c
>> index c2e093e633..89c07e1f21 100644
>> --- i/src/ftfont.c
>> +++ w/src/ftfont.c
>> @@ -1242,6 +1242,11 @@ ftfont_close (struct font *font)
>> struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
>> Lisp_Object val, cache;
>>
>> +#ifdef USE_CAIRO
>> + /* Bug#20890 workaround. */
>> + if (gc_in_progress)
>> + return;
>> +#endif
>> val = Fcons (font->props[FONT_FILE_INDEX], make_number (ftfont_info->index));
>> cache = ftfont_lookup_cache (val, FTFONT_CACHE_FOR_FACE);
>> eassert (CONSP (cache));
>
> This LGTM, thanks.
>
Iʼll follow up in bug 20890.
>
> It can stay in ftfont.c, but please make the second hunk
> unconditional, so that the variable is known and available in all the
> builds, just say in the doc string that this variable has effect only
> on the xftfont backend. I have bad experience with variables that are
> only defined in some configurations: it means both trouble for users
> who use more than one configuration and more maintenance headaches.
> Come to think of it, maybe it's best to move DEFVAR_BOOL to font.c,
> for that very reason.
OK, adjusted accordingly.
Robert
This bug report was last modified 6 years and 164 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.