summaryrefslogtreecommitdiff
path: root/src/ftcrfont.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ftcrfont.c')
-rw-r--r--src/ftcrfont.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/ftcrfont.c b/src/ftcrfont.c
index 614ef083701..dc1a389c607 100644
--- a/src/ftcrfont.c
+++ b/src/ftcrfont.c
@@ -137,7 +137,7 @@ ftcrfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
FT_UInt size;
block_input ();
- size = XINT (AREF (entity, FONT_SIZE_INDEX));
+ size = XFIXNUM (AREF (entity, FONT_SIZE_INDEX));
if (size == 0)
size = pixel_size;
font_object = font_build_object (VECSIZE (struct ftcrfont_info),
@@ -164,6 +164,9 @@ ftcrfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
static void
ftcrfont_close (struct font *font)
{
+ if (font_data_structures_may_be_ill_formed ())
+ return;
+
struct ftcrfont_info *ftcrfont_info = (struct ftcrfont_info *) font;
int i;