diff options
author | Eli Zaretskii <eliz@gnu.org> | 2019-10-08 16:13:21 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2019-10-08 16:13:21 +0300 |
commit | bdb04e9dd182436a08fc80d5f7bda6432439271a (patch) | |
tree | 90f687f963621167e870ee626c5b3233e63c987c | |
parent | 005ed494950bb370598883307b801ff73cbea9db (diff) | |
download | emacs-bdb04e9dd182436a08fc80d5f7bda6432439271a.tar.gz |
Fix aborts when opening a new font after face-cache reset
* src/font.c (font_open_for_lface): Make sure the default face
is realized before using its height for the font to be open.
(Bug#37637)
-rw-r--r-- | src/font.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/font.c b/src/font.c index 935dd64e648..6bc977fd68e 100644 --- a/src/font.c +++ b/src/font.c @@ -3314,6 +3314,10 @@ font_open_for_lface (struct frame *f, Lisp_Object entity, Lisp_Object *attrs, Li pt = XFIXNUM (attrs[LFACE_HEIGHT_INDEX]); else { + /* We need the default face to be valid below. */ + if (FRAME_FACE_CACHE (f)->used == 0) + recompute_basic_faces (f); + struct face *def = FACE_FROM_ID (f, DEFAULT_FACE_ID); Lisp_Object height = def->lface[LFACE_HEIGHT_INDEX]; eassert (FIXNUMP (height)); |