]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix rare segfaults due to freed fontsets
authorEli Zaretskii <eliz@gnu.org>
Sat, 24 Aug 2024 09:07:02 +0000 (12:07 +0300)
committerEshel Yaron <me@eshelyaron.com>
Wed, 4 Sep 2024 07:51:27 +0000 (09:51 +0200)
* src/xfaces.c (recompute_basic_faces): Force complete
recalculation of all the faces.  (Bug#72692)

(cherry picked from commit 4211d85eec0858583bd9d35f8de9cd6e358d6c72)

src/xfaces.c

index 684b6ccfac72db4fc5ac22fb1b7b77d8bd43eb12..34897817ffd447aac970495789ca8a0189a98a9c 100644 (file)
@@ -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;
     }
 }