emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-30 4211d85eec0: Fix rare segfaults due to freed fontsets


From: Eli Zaretskii
Subject: emacs-30 4211d85eec0: Fix rare segfaults due to freed fontsets
Date: Sat, 24 Aug 2024 05:07:48 -0400 (EDT)

branch: emacs-30
commit 4211d85eec0858583bd9d35f8de9cd6e358d6c72
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix rare segfaults due to freed fontsets
    
    * src/xfaces.c (recompute_basic_faces): Force complete
    recalculation of all the faces.  (Bug#72692)
---
 src/xfaces.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/xfaces.c b/src/xfaces.c
index 684b6ccfac7..34897817ffd 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -736,6 +736,11 @@ recompute_basic_faces (struct frame *f)
       clear_face_cache (false);
       if (!realize_basic_faces (f))
        emacs_abort ();
+      /* Force complete face recalculation next time we use the display
+         code, because realize_basic_faces could free the fontset used
+         by non-ASCII faces corresponding to ASCII faces of the basic
+         faces, and attempt to use that fontset might segfault.  */
+      f->face_change = true;
     }
 }
 



reply via email to

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