[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 1233bcb: Work around GC+Cairo bug
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master 1233bcb: Work around GC+Cairo bug |
Date: |
Tue, 3 Apr 2018 11:24:43 -0400 (EDT) |
branch: master
commit 1233bcb0a78755ec4f3a925b84c15b1c6f715b1c
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <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 84e4a30..fea00ff 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1245,6 +1245,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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 1233bcb: Work around GC+Cairo bug,
Paul Eggert <=