From: Eli Zaretskii Date: Fri, 14 Jan 2022 14:11:34 +0000 (+0200) Subject: Avoid another segfault in 'face_at_buffer_position' X-Git-Tag: emacs-28.0.92~102 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c05864dd25c820fe250672d32d6ec77ba946670d;p=emacs.git Avoid another segfault in 'face_at_buffer_position' * src/xfaces.c (face_at_buffer_position): Make really sure the default face is usable. (Bug#53254) --- diff --git a/src/xfaces.c b/src/xfaces.c index b9fb7c0ac1e..dff5ae346de 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -6425,8 +6425,12 @@ face_at_buffer_position (struct window *w, ptrdiff_t pos, default_face = FACE_FROM_ID_OR_NULL (f, face_id); if (!default_face) - default_face = FACE_FROM_ID (f, - lookup_basic_face (w, f, DEFAULT_FACE_ID)); + { + if (FRAME_FACE_CACHE (f)->used == 0) + recompute_basic_faces (f); + default_face = FACE_FROM_ID (f, + lookup_basic_face (w, f, DEFAULT_FACE_ID)); + } } /* Optimize common cases where we can use the default face. */