]> git.eshelyaron.com Git - emacs.git/commitdiff
* font.c (font_close_object): Check for live frame (Bug#16128).
authorDmitry Antipov <dmantipov@yandex.ru>
Fri, 13 Dec 2013 13:34:05 +0000 (17:34 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Fri, 13 Dec 2013 13:34:05 +0000 (17:34 +0400)
src/ChangeLog
src/font.c

index 0ffa9af77fc0f7815e99bfb49e478fbb6d2055c1..2ae2f99b49a8e0421a808b47847e0137d48c8712 100644 (file)
@@ -1,3 +1,7 @@
+2013-12-13  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * font.c (font_close_object): Check for live frame (Bug#16128).
+
 2013-12-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        * gnutls.c, gnutls.h (emacs_gnutls_record_check_pending):
index d0a10332028cf0b92ee96080795dcc48b70b0aed..9f284440143a5690ec32267358dc130b1f362163 100644 (file)
@@ -2898,8 +2898,12 @@ font_close_object (Lisp_Object font_object)
   font->driver->close (font);
 #ifdef HAVE_WINDOW_SYSTEM
   eassert (font->frame);
-  eassert (FRAME_DISPLAY_INFO (font->frame)->n_fonts);
-  FRAME_DISPLAY_INFO (font->frame)->n_fonts--;
+  /* If the frame is gone, we can't do anything (Bug#16128).  */
+  if (FRAME_LIVE_P (font->frame))
+    {
+      eassert (FRAME_DISPLAY_INFO (font->frame)->n_fonts);
+      FRAME_DISPLAY_INFO (font->frame)->n_fonts--;
+    }
 #endif
 }