Work around GC+Cairo bug

Workaround suggested by Robert Pluim (Bug#20890#13).
* src/ftfont.c (ftfont_close) [USE_CAIRO]:
Do nothing if GC is in progress.
This commit is contained in:
Paul Eggert 2018-04-03 08:24:10 -07:00 committed by Eli Zaretskii
parent 0ecff00bc1
commit e0862eda47

View file

@ -1246,6 +1246,12 @@ ftfont_close (struct font *font)
/* FIXME: Although this function can be called while garbage-collecting,
the function assumes that Lisp data structures are properly-formed.
This invalid assumption can lead to core dumps (Bug#20890). */
#ifdef USE_CAIRO
/* Although this works around Bug#20890, it is probably not the
right thing to do. */
if (gc_in_progress)
return;
#endif
struct ftfont_info *ftfont_info = (struct ftfont_info *) font;
Lisp_Object val, cache;