[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 e0862ed 1/2: Work around GC+Cairo bug
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] emacs-26 e0862ed 1/2: Work around GC+Cairo bug |
Date: |
Sat, 5 Jan 2019 04:54:01 -0500 (EST) |
branch: emacs-26
commit e0862eda47c549850a43f09d12882849a2073f93
Author: Paul Eggert <address@hidden>
Commit: Eli Zaretskii <address@hidden>
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.
---
src/ftfont.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/ftfont.c b/src/ftfont.c
index 4382fd0..bdb1dff 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -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;