diff options
| author | Eli Zaretskii | 2019-10-08 16:13:21 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2019-10-08 16:13:21 +0300 |
| commit | bdb04e9dd182436a08fc80d5f7bda6432439271a (patch) | |
| tree | 90f687f963621167e870ee626c5b3233e63c987c /src/font.c | |
| parent | 005ed494950bb370598883307b801ff73cbea9db (diff) | |
| download | emacs-bdb04e9dd182436a08fc80d5f7bda6432439271a.tar.gz emacs-bdb04e9dd182436a08fc80d5f7bda6432439271a.zip | |
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)
Diffstat (limited to 'src/font.c')
| -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 | |||
| 3314 | pt = XFIXNUM (attrs[LFACE_HEIGHT_INDEX]); | 3314 | pt = XFIXNUM (attrs[LFACE_HEIGHT_INDEX]); |
| 3315 | else | 3315 | else |
| 3316 | { | 3316 | { |
| 3317 | /* We need the default face to be valid below. */ | ||
| 3318 | if (FRAME_FACE_CACHE (f)->used == 0) | ||
| 3319 | recompute_basic_faces (f); | ||
| 3320 | |||
| 3317 | struct face *def = FACE_FROM_ID (f, DEFAULT_FACE_ID); | 3321 | struct face *def = FACE_FROM_ID (f, DEFAULT_FACE_ID); |
| 3318 | Lisp_Object height = def->lface[LFACE_HEIGHT_INDEX]; | 3322 | Lisp_Object height = def->lface[LFACE_HEIGHT_INDEX]; |
| 3319 | eassert (FIXNUMP (height)); | 3323 | eassert (FIXNUMP (height)); |