aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/alloc.c b/src/alloc.c
index e5116acaefd..e2213db853d 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2974,9 +2974,16 @@ cleanup_vector (struct Lisp_Vector *vector)
2974 && ((vector->header.size & PSEUDOVECTOR_SIZE_MASK) 2974 && ((vector->header.size & PSEUDOVECTOR_SIZE_MASK)
2975 == FONT_OBJECT_MAX)) 2975 == FONT_OBJECT_MAX))
2976 { 2976 {
2977 /* Attempt to catch subtle bugs like Bug#16140. */ 2977 struct font_driver *drv = ((struct font *) vector)->driver;
2978 eassert (valid_font_driver (((struct font *) vector)->driver)); 2978
2979 ((struct font *) vector)->driver->close ((struct font *) vector); 2979 /* The font driver might sometimes be NULL, e.g. if Emacs was
2980 interrupted before it had time to set it up. */
2981 if (drv)
2982 {
2983 /* Attempt to catch subtle bugs like Bug#16140. */
2984 eassert (valid_font_driver (drv));
2985 drv->close ((struct font *) vector);
2986 }
2980 } 2987 }
2981} 2988}
2982 2989