aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2023-05-09 08:20:57 +0300
committerEli Zaretskii2023-05-09 08:20:57 +0300
commitd94ea9efca663510ce2cf8c6df327404d92afa0a (patch)
tree726d16c92531f524d0093c41aa8e7375fbc22c10
parent387ddc0ccc1b21f612b9106bafec63170ede30e6 (diff)
downloademacs-d94ea9efca663510ce2cf8c6df327404d92afa0a.tar.gz
emacs-d94ea9efca663510ce2cf8c6df327404d92afa0a.zip
Avoid crashes in --without-all build trying to scale non-ASCII char
* src/fontset.c (face_for_char): Display a non-ASCII character as glyphless if the ASCII face has no fontset. (Bug#63283)
-rw-r--r--src/fontset.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/fontset.c b/src/fontset.c
index f196dee8259..c0e00cfa346 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -967,6 +967,15 @@ face_for_char (struct frame *f, struct face *face, int c,
967#endif 967#endif
968 } 968 }
969 969
970 /* If the parent face has no fontset we could work with, and has no
971 font, just return that same face, so that the caller will
972 consider the character to have no font capable of displaying it,
973 and display it as "glyphless". That is certainly better than
974 violating the assertion below or crashing when assertions are not
975 compiled in. */
976 if (face->fontset < 0 && !face->font)
977 return face->id;
978
970 eassert (fontset_id_valid_p (face->fontset)); 979 eassert (fontset_id_valid_p (face->fontset));
971 fontset = FONTSET_FROM_ID (face->fontset); 980 fontset = FONTSET_FROM_ID (face->fontset);
972 eassert (!BASE_FONTSET_P (fontset)); 981 eassert (!BASE_FONTSET_P (fontset));