[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30874: 27.0.50; Emacs crashes
From: |
Robert Pluim |
Subject: |
bug#30874: 27.0.50; Emacs crashes |
Date: |
Tue, 03 Apr 2018 11:24:58 +0200 |
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Robert Pluim <rpluim@gmail.com>
>> Cc: 30874@debbugs.gnu.org, jsynacek@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