emacs-diffs
[Top][All Lists]
Advanced

[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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]